環境
- Visual Studio 2015
- .Net Framework 4.6.1
- ASP.NET MVC 5
- Microsoft.Owin 3.0.1.0
現象
- Facebook developer設定。
- ASP.NET 新規MVCサイト作成。
- Startup.Auth.csのFacebook認証箇所コメントアウトを外す。(app.UseFacebookAuthentication)
- appId,appSecretを設定(手順1の操作で取得したもの)
- 起動してログイン画面、"Facebook"を選択
認証は通っているように見えるが、下記問題が発生
- AccountController ExternalLoginCallbackメソッド内のAuthenticationManager.GetExternalLoginInfoAsync戻り値がNullになる。
- Facebookから戻ってきた後ログイン画面がまた表示される。またURLが”http://localhost:xxxxx/Account/Login?_=_”となる。(後ろに_=_が追加された状態)
対応方法
NugetでMicrosoft.Owin関係のバージョンを3.1以上に、Newtonsoft.Jsonのバージョンを10.0以上にあげる。
※Visual Studio 2015で作るとMicrosoft.Owinが3.0.1