4

使用ASP.Net MVC4站点时,使用SimpleMembership添加OAuth身份验证非常简单。Azure Mobile Services vs MVC4 SimpleMembership

OAuthWebSecurity.RegisterTwitterClient(consumerKey,consumerSecret); 

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

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

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

回答

0

我刚刚完成了在http://blogs.msdn.com/b/carlosfigueira/archive/2013/06/25/exposing-authenticated-data-from-azure-mobile-services-via-an-asp-net-mvc-application.aspx发布使用ASP.NET MVC4简单的会员进行身份验证到Azure的移动服务(通过Facebook,在我的例子)的样品。该帖子包含了很多细节,但想法是,如果您可以获得提供者访问令牌(例如来自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; 
       } 
      }); 
     } 
相关问题