一個電話號碼,我無法弄清楚如何做一個電話號碼,確認在asp.net 1.1核心如何確認在ASP.Net核心1.1MVC
標識服務配置包含明確的選項,要求確認的電子郵件和/或電話號碼。
這是可以做到的方式如下:
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);
上述行wi如果令牌有效,則將user.EmailConfirmed標誌切換爲true。
現在的問題是,我沒有看到類似的方法來生成手機驗證令牌及其等效方法來驗證它(反過來如果成功,應該將user.PhoneNumberConfirmed標誌切換爲true)。
用戶管理器包含但是一些方法做了用戶手機的變化:
_userManager.GenerateChangePhoneNumberTokenAsync();
和
_userManager.VerifyChangePhoneNumberTokenAsync();
但似乎這些方法不切換user.PhoneNumberConfirmed標誌。
我錯過了什麼嗎?確認用戶電話號碼的正確方法是什麼(換句話說,將user.PhoneNumberConfirmed設置爲true)?
電話確認需要像twilio這樣的外部服務才能通過發送短信進行確認。我已經在我的項目中實現了這些東西https://github.com/joeaudette/cloudscribe –
@JoeAudette嗯,我不知道如何提供確認碼,但是如何正確驗證它。你能指點我嗎,你在哪裏? –
如果您看到[源代碼](https://github.com/aspnet/Identity/blob/rel/1.1.1/src/Microsoft.AspNetCore.Identity/UserManager.cs#L1518),唯一設置PhoneNumberConfirmed的地方爲真是在ChangePhoneNumberAsync(TUser用戶,字符串phoneNumber,字符串標記)' – tmg