0

这就是我想要做的。

我想要一个 MVC Web 应用程序,我可以使用它来管理我的 SQL Server 数据库(Windows azure)中的表。我想通过第 3 方登录(谷歌、推特、脸书等)进行身份验证。

我想要一个移动应用程序,它使用 Windows azure 移动服务来访问和修改这些表。移动应用程序将使用与上述相同的提供商登录。

问题:当我使用 MVC 应用程序登录时,我可以访问用户名和电子邮件地址。

当我使用移动应用程序登录时,我可以访问 userId ="google":{ "userId":"Google:my-actual-user-id", "accessToken":"the-actual-access-token" }在移动服务端,但不是电子邮件地址或用户名。

因此,如果我想编写一个服务器端脚本(azure 移动服务)来从表中获取数据,我应该使用什么作为唯一用户标识符?MVC 应用程序无权访问移动应用程序登录时获取的用户 ID,并且移动应用程序无权访问通过 MVC 登录可用的用户名或电子邮件地址 (OAuthWebSecurity)

我找到了这个链接:http: //blogs.msdn.com/b/carlosfigueira/archive/2012/10/25/getting-user-information-on-azure-mobile-services.aspx

但看起来你甚至无法使用这个来获取谷歌电子邮件...... 所以仍然无法唯一识别用户!

谢谢你的帮助

4

1 回答 1

0

它并没有真正回答如何解决上面强调的问题。我想在我的 MVC 应用程序中使用相同类型的身份验证可以解决这个问题,但是我必须找到一种方法来获取 google 帐户的电子邮件地址。然后我将不得不考虑如何处理会带来其他问题的其他身份验证提供程序。我发现 Windows azure 移动服务存在其他问题,这意味着它不适合我

  • 似乎不是使用移动服务从不同的数据库命名空间访问数据的一种方式
  • 我正在重写我在 MVC 应用程序中已经拥有的移动服务中的业务逻辑,我已经对它进行了单元测试,使用实体框架等

如果您遵循移动服务的示例,这似乎简单而直接,但是一旦您离开这条轨道,它就会变得非常成问题,在我看来根本不值得。做任何有意义的事情都不够灵活......但这可能是我没有正确使用它。

所以我现在在我的 MVC 应用程序中使用 web api。在我的 Windows 应用程序中使用 httpclient 来联系访问此数据。它允许我重用我的业务逻辑,并且更加灵活。如果您觉得对 windows azure mobile services(巧克力茶壶)的评价不公平,很想听听反对意见。

于 2013-08-22T09:13:36.957 回答