如何在ASP.NET Core Identity中为用户检索2FA恢复代码?

时间:2019-10-18 11:56:46

标签: c# asp.net-core asp.net-identity two-factor-authentication

我目前正在研究ASP.NET Core身份项目。我需要创建一个页面,用户可以在该页面上看到他们剩下要使用的两因素恢复代码。我注意到,用户的恢复代码存储在ASP.NET Core Identity创建的默认架构的“ ASPNetUserTokens”表中。

如何在代码中检索用户的恢复代码?

我已经查看了UserManager类上的“ GetAuthenticationTokenAsync”方法,但不确定如何使用它。

1 个答案:

答案 0 :(得分:1)

我是这样实现的。

var internalLoginProvider = "[AspNetUserStore]";
var recoveryCodeTokenName = "RecoveryCodes";
var token = await _userManager.GetAuthenticationTokenAsync(user, internalLoginProvider, recoveryCodeTokenName);

这里是我提到的实现和常量的链接。

InternalLoginProvider

RecoveryCodeTokenName

GetTokenAsync in CountCodeAsync