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