我无法弄清楚如何在asp.net核心1.1中进行电话号码确认
身份服务配置包含要求确认的电子邮件和/或电话号码的明确选项.
它可以通过以下方式完成:
services
.AddIdentity<User, Role>(options =>
{
options.SignIn.RequireConfirmedEmail = true;
options.SignIn.RequireConfirmedPhoneNumber = true;
});
Run Code Online (Sandbox Code Playgroud)
由于UserManager包含显式令牌生成器及其验证器,因此电子邮件的验证非常简单:
var token = await _userManager.GenerateEmailConfirmationTokenAsync(user);
Run Code Online (Sandbox Code Playgroud)
生成的令牌可以通过以下方式验证:
var result = await _userManager.ConfirmEmailAsync(user, code);
Run Code Online (Sandbox Code Playgroud)
如果令牌有效,上面的行将把user.EmailConfirmed标志切换为true.
现在的问题是我没有看到类似的方法来生成电话验证令牌及其等效方法来验证它(如果成功,它应该将user.PhoneNumberConfirmed标志切换为true).
但是,用户管理器包含的用户手机更改方法很少:
_userManager.GenerateChangePhoneNumberTokenAsync();
Run Code Online (Sandbox Code Playgroud)
和
_userManager.VerifyChangePhoneNumberTokenAsync();
Run Code Online (Sandbox Code Playgroud)
但似乎这些方法不会切换user.PhoneNumberConfirmed标志.
我错过了什么吗?确认用户电话号码的正确方法是什么(换句话说,将user.PhoneNumberConfirmed设置为true)?