4

使用 ASP.Net MVC4 站点时,使用 SimpleMembership 添加 OAuth 身份验证非常容易。

OAuthWebSecurity.RegisterTwitterClient(consumerKey,consumerSecret);

在客户端设备上使用 Azure 移动服务时,添加 OAuth 身份验证非常容易。

await App.MobileService.LoginAsync(MobileServiceAuthenticationProvider.Twitter);

问题是这是两个不同的数据存储。我需要用户能够从应用程序或网站注册和/或登录。从设备和 ASP.Net 站点提供集成 OAuth 身份验证的最佳/最简单方法是什么?有样品吗?

4

2 回答 2

3

当 Azure 移动服务和 MVC SimpleMembership 发挥作用时,我只能通过 Twitter 和 Facebook 登录来实现这一点。请看这个线程,它确实有很多需要查看的内容,但它确实很好地详细解释了我的发现。

http://social.msdn.microsoft.com/Forums/en-US/azuremobile/thread/d54d28c6-6941-4af5-b116-dc8c51820498

抱歉,我不能给你任何代码,因为我的既定目标是不为此集成编写任何身份验证/安全代码。

内特

于 2013-05-13T17:48:27.410 回答
0

我刚刚在http://blogs.msdn.com/b/carlosfigueira/archive/2013/06/上发布了一个使用 ASP.NET MVC4 简单成员资格对 Azure 移动服务(在我的示例中是通过 Facebook)进行身份验证的示例25/暴露-身份验证-数据-来自-azure-mobile-services-via-an-asp-net-mvc-application.aspx。该帖子包含很多细节,但想法是,如果您可以获得提供商访问令牌(例如从 Facebook 或 Google),您可以对其进行格式化并发送到支持的移动服务。在下面的代码片段中,facebook 令牌存储在会话状态中,并通过确保用户登录的方法检索。

        if (MobileService.CurrentUser == null)
        {
            var accessToken = Session["facebooktoken"] as string;
            var token = new JObject();
            token.Add("access_token", accessToken);
            return MobileService.LoginAsync(MobileServiceAuthenticationProvider.Facebook, token).ContinueWith<bool>(t =>
            {
                if (t.Exception != null)
                {
                    return true;
                }
                else
                {
                    System.Diagnostics.Trace.WriteLine("Error logging in: " + t.Exception);
                    return false;
                }
            });
        }
于 2013-06-25T09:02:58.820 回答