ASP.NET mvc 4 アプリケーションで、 設定したAccount/ExternalLoginを実装しようとしましたが、
- マイクロソフト(Windows Live)、
ClientID と ClientSecret を使用し、GoogleOpenAuth を有効にした Facebook では、残念ながら何も機能していません。
Url call: provider=microsoft& sid =95b923de889e4a4db6861c98fafb42a3&code=f85770b1-266b-3abd-4c46-8d62fe3014dc">http://mydomain.com/account/externallogincallback? provider =microsoft& sid =95b923de889e4a4db6861c98fafb42a3&code=f85770b1-266b-3abd-4c46-8d62fe3014dc
AuthenticationResult 結果 = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
すべての OpenAuth 呼び出しが失敗し、Google は認証 false を返し、Facebook と Microsoft (Windows Live) は 400 の不正な要求応答を返します。
誰でもこれを解決する方法を提案できますか?
詳細:これらは私が使用したDLLです
- C:\Users\UserName\Documents\Visual Studio 2012\Projects\myProject\packages\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\myProject\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-full\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 にコールバックされると、トークン値も小文字になり、問題が発生していました。 . 私はそれを見つけることができてうれしい:)