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; 
       } 
      }); 
     } 
相關問題