在我的ASP.NET MVC應用4,我試圖執行帳戶/ ExternalLogin 我配置,ASP.NET MVC 4 OAuthWebSecurity不工作
- 微軟(的Windows Live),
Facebook 與ClientID和ClientSecret並啓用GoogleOpenAuth 不幸的是沒有任何工作。
URL調用:提供商=微軟& SID = 95b923de889e4a4db6861c98fafb42a3 &代碼= f85770b1-266b-3ABD-4c46-8d62fe3014dc「> http://mydomain.com/account/externallogincallback 提供商 =微軟& SID = 95b923de889e4a4db6861c98fafb42a3 &代碼= f85770b1-266b-3ABD-4c46-8d62fe3014dc
AuthenticationResult結果= OAuthWebSecurity.VerifyAuthentication(Url.Action( 「ExternalLoginCallback」,新的{RETURNURL = RETURNURL}));
所有OpenAuth調用都失敗,谷歌將返回認證錯誤, Facebook和微軟(Windows Live)給出了400個錯誤的請求響應。
任何人都可以建議如何解決這個問題嗎?
更多細節: 這些都是我用
- C中的DLL:\ Users \用戶名\文檔\ Visual Studio的 2012 \項目\ myProject的\包\ DotNetOpenAuth.AspNet.4.0.3.12153 \ LIB \ net40-full \ DotNetOpenAuth.AspNet.dll
- C:\ Users \ UserName \ Documents \ Visual Studio 2012 \ Projects \ myProject \ packages \ DotNetOpenAuth.Core.4.0.3.12153 \ lib \ net40-full \ DotNetOpenAuth.Core。 dll
- C:\ Users \ UserName \ Documents \ Visual Studio 2012 \ Projects \ myProj ect \ packages \ DotNetOpenAuth.OAuth.Core.4.0.3.12153 \ lib \ net40-full \ DotNetOpenAuth.OAuth.dll
- C:\ Users \ UserName \ Documents \ Visual Studio 2012 \ Projects \ myProject \ packages \ DotNetOpenAuth。 OpenId.Core.4.0.3.12153 \ lib \ net40-full \ DotNetOpenAuth.OpenId.dll
- C:\ Users \ UserName \ Documents \ Visual Studio 2012 \ Projects \ myProject \ packages \ DotNetOpenAuth.OpenId.RelyingParty.4.0.3.12153 \ LIB \ net40滿\ DotNetOpenAuth.OpenId.RelyingParty.dll
的Web.config
<compilation debug="true" targetFramework="4.5" >
<assemblies>
<add assembly="WebMatrix.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="WebMatrix.WebData, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</assemblies>
</compilation>
發現問題: 嗯,我想出了它,我有一個自定義函數在應用程序啓動時觸發,這將強制完整的url小寫,當OAuth令牌回調到Facebook時,令牌值也是較低的,這是造成問題。很高興我能找到它:)
嗯,我想出來了,我有一個自定義函數在應用程序啓動時觸發,這將強制完整的URL以小寫字母和oAUth令牌回調到Facebook時,令牌值也是較低的,這是創建問題。很高興我能找到它:) – HaBo
太好了。真高興你做到了。 – superkinhluan