Browse Source

Add `ResetRecoveryCodesAsync` method to `IdentityUserManager`.

pull/16634/head
maliming 3 years ago
parent
commit
63eb3d2439
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 10
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserManager.cs
  2. 15
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs

10
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserManager.cs

@ -275,4 +275,14 @@ public class IdentityUserManager : UserManager<IdentityUser>, IDomainService
return passwordChangePeriodDays > 0 && lastPasswordChangeTime.AddDays(passwordChangePeriodDays) < DateTime.UtcNow;
}
public virtual async Task ResetRecoveryCodesAsync(IdentityUser user)
{
if (!(Store is IdentityUserStore identityUserStore))
{
throw new AbpException($"Store is not an instance of {typeof(IdentityUserStore).AssemblyQualifiedName}");
}
await identityUserStore.SetTokenAsync(user, await identityUserStore.GetInternalLoginProviderAsync(), await identityUserStore.GetRecoveryCodeTokenNameAsync(), string.Empty, CancellationToken);
}
}

15
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs

@ -1108,6 +1108,21 @@ public class IdentityUserStore :
return false;
}
public virtual Task<string> GetInternalLoginProviderAsync()
{
return Task.FromResult(InternalLoginProvider);
}
public virtual Task<string> GetAuthenticatorKeyTokenNameAsync()
{
return Task.FromResult(AuthenticatorKeyTokenName);
}
public virtual Task<string> GetRecoveryCodeTokenNameAsync()
{
return Task.FromResult(RecoveryCodeTokenName);
}
public virtual void Dispose()
{

Loading…
Cancel
Save