ユーザーをOAuth2.0ログインサーバーにリダイレクトし、ユーザーが正常にログインした後にコールバックURLに戻る単純なログインページを実装しようとしています。
しかし、私はエラーメッセージで例外を受け取り続けます:
予期された値と一致しないコールバックおよびクライアント状態で受信された予期しないOAuth許可応答。
デバッグから、「RequestUserAuthorization()」を呼び出す前と後のセッションIDが異なることに気付きました。
どういうわけかセッションの変更を防ぐ必要があるといういくつかのSOの回答から読みましたが、このシナリオでそれを達成する方法がわかりません。
助けていただければ幸いです、ありがとう!
私の蒸留された実装は次のとおりです。
private readonly WebServerClientCustomImpl _oauthClient = new WebServerClientCustomImpl();
public ActionResult Login()
{
IAuthorizationState auth = null;
auth = _oauthClient.ProcessUserAuthorization();
if (auth == null)
{
_oauthClient.RequestUserAuthorization(returnTo: _redirectUrl);
}
else
{
// Save authentication information into cookie.
HttpContext.Response.Cookies.Add(auth.CreateAuthCookie());
return RedirectToAction("Index", "Home");
}
ViewBag.Message = "Future login page...";
return View();
}