2016-03-02 55 views
1

我使用Asp.Net MVC的OAuth登錄與Facebook和谷歌和奇怪的事情,在某些時期,它亙古不變的工作Facebook,谷歌的OAuth有時會失敗在Azure上

var externalIdentity = 
       HttpContext.GetOwinContext() 
        .Authentication.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie); 

var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); 
if (loginInfo == null) 
{ 
    return RedirectToAction("Login"); 
} 

似乎在這裏不能得到用戶信息和重定向登錄頁面。我無法弄清楚爲什麼或者什麼會導致這種情況。 我也有兩個插槽測試版和生產。

因此,任何建議或可能有人已經有了,並找到方法如何解決?

+0

您可能有不同的網站URL在Facebook上註冊對於測試和生產應用程序你有沒有檢查這個網址 – Saineshwar

+0

@Saineshwar Facebook和谷歌將顯示錯誤,抱歉,你嘗試重定向到錯誤的網址或像這樣的smth,它在一些一段時間 –

+0

請檢查此: - http://stackoverflow.com/questions/14218062/google-oauth-login-works-locally-fails-on-production-server?rq=1 –

回答

1

終於在幾周後我解決了我的問題。它真的有點奇怪,可能問題是因爲Azure,因爲beforemy在6個月的VMvare上運行。

中的AccountController有方法

public ActionResult ExternalLogin(string provider, string returnUrl) 

添加有

Session.RemoveAll(); 

PS /首先,當我看到這個建議,我不明白它如何可以幫助,但隨後下一次當OAuth的失敗,我只需重新啓動WebApp並開始工作即可。順便說一句,即使現在我不明白會議會發生什麼,但它的工作原理。