私はAsp.net Core Identityバージョン2.0をセットアップして実行しています。 _signinManager.SignoutAsyncは、Googleにログインしてからユーザーをログアウトしていないことがわかりました。私が自分のログインメソッドに戻ったときには、そのユーザはクレームオブジェクトをそのまま残してログインしていることだけが示されます。問題がSignOutAsync
問題というあなたのRedirectToAction
は、Identity ServerのENDSESSION URLへのリダイレクトを上書きすることであるASP.NET Core Identity 2.0 SignoutAsync
[AllowAnonymous]
public ActionResult TestGoogle()
{
var redirectUrl = Url.Action(nameof(ExternalCallback), "Account", new { ReturnUrl = "" });
var properties = _signInManager.ConfigureExternalAuthenticationProperties("Google", redirectUrl);
return Challenge(properties, "Google");
}
public async Task<IActionResult> LogOff()
{
await _signInManager.SignOutAsync();
return RedirectToAction(nameof(HomeController.Index), "Home");
}
こんにちは、おそらくクッキーです。 LogOffで試してみてください: HttpContext.Authentication.SignOutAsync( "yourcookie");を待ちます。 –
この回答を見ると、VSはそのメソッドが廃止され、将来のバージョンで削除されると述べています。だから避けたい。 – AliK