How can i sign out another user (not the currently logged one) in ASP.NET Core Identity.
I know there is a SignOutAsync()
method in SignInManager
, but there seems to be no override accepting user as argument. I'm looking for something like:
signInManager.SignOutAsync(user);
Show activity on this post. var user = await _userManager. FindByIdAsync(UserId); var roles = await _userManager. GetRolesAsync(user); return OK(new { User = user, Roles = roles });
ASP.NET Core Identity: Is an API that supports user interface (UI) login functionality. Manages users, passwords, profile data, roles, claims, tokens, email confirmation, and more.
First update the security stamp of that user:
await userManager.UpdateSecurityStampAsync(user)
Then that user won't be noticed the changes until the arrival of the SecurityStampValidationInterval
. So set it to Zero
for the immediate logout:
services.AddIdentity<User, Role>(identityOptions =>
{
// enables immediate logout, after updating the user's stat.
identityOptions.SecurityStampValidationInterval = TimeSpan.Zero;
}
Update: For ASP.NET Core Identity 2.x, 3.x, 5.x
services.Configure<SecurityStampValidatorOptions>(options =>
{
// enables immediate logout, after updating the user's stat.
options.ValidationInterval = TimeSpan.Zero;
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With