2017-06-16 5 views
1

ユーザーパスワードを変更した後、すべての認証をリセットする必要があります。私はセキュリティスタンプを変更しようとしましたが、認証をリセットしません。ASP.NET CORE。すべての認証をリセットする

await _userManager.UpdateSecurityStampAsync(User); 

私はAsp Net Core Identityを使用しています。

+0

許可をリセットするとどういう意味ですか?通常はパスワードを変更するだけで*が変更されるため、次にサインインする際には代わりにパスワードを入れなければなりません。あなたは何をしようとしているのかを明確にしようと思いますか? – juunas

+0

@juunasユーザーが2つのデバイスから権限を与えられている場合。ユーザーがあるデバイスでパスワードを変更した場合は、他のデバイスでの認証をリセットする必要があります。私の悪い英語のために申し訳ありません。 – mirypoko

+0

あなたは*認証*を意味します:)それは問題ありません。あなたの質問は、本当にデバイス/セッションを越えてユーザーをサインアウトする方法です。 – juunas

答えて

0

私たちは、ログアウト時に次の操作を行います。

await HttpContext.Authentication.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); 

しかし、ユーザーが自分のパスワードを変更するとき、我々はユーザーコンテキスト情報を持続し、またはその情報を再作成するセッションダウンまたは他の唯一の明確なをログアウトする必要はありません。 。

+0

これは動作しません:InvalidOperationException:スキームを処理する認証ハンドラが設定されていません:Cookies – mirypoko

+0

これはHttpContext.Authentication.SignInAsync(..)を待っていて、同じスキームを使用してスタートアップでこれを設定していることを前提としています。 –

+0

例:services.AddAuthentication(options => options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme); –

関連する問題