//====================================================================================================== public async Task <string> GeneratePhoneNumberTokenAsync(ApplicationUser _User) { PhoneNumberTokenProvider <ApplicationUser> phoneNumberTokenProvider = new PhoneNumberTokenProvider <ApplicationUser>(); var token = await phoneNumberTokenProvider.GenerateAsync("ResetPassword", _userManager, _User); return(token); }
private async Task<(string VerifyToken, bool Result)> SendSmsRequet(PhoneLoginViewModel model, ApplicationUser user) { var verifyToken = await _phoneNumberTokenProvider.GenerateAsync("verify_number", _userManager, user); var result = await _smsService.SendAsync(model.PhoneNumber, $"Your login verification code is: {verifyToken}"); return (verifyToken, result); }
async Task <(string VerifyToken, bool Result)> SendSmsRequet(PhoneLoginViewModel model, UserIdentity user) { var verifyToken = await _phoneNumberTokenProvider.GenerateAsync(TokenPurpose.MobilePasswordAuth, _userManager, user); var sms = $"<#>{Environment.NewLine}Your OTP Code is:{verifyToken}{Environment.NewLine}[{model.AppHash}]"; var result = await _smsService.SendAsync(model.PhoneNumber, sms); return(verifyToken, result); }
public async Task <IActionResult> Post([FromBody] PhoneLoginViewModel loginViewModel) { var user = await GetUser(loginViewModel); var resendToken = await _dataProtectorTokenProvider.GenerateAsync("resend_token", _userManager, user); var token = await _phoneNumberTokenProvider.GenerateAsync("verify_number", _userManager, user); var success = await _smsService.SendAsync(loginViewModel.PhoneNumber, $"Your Autostop verification code is: {token}"); var result = new Dictionary <string, string> { { "resend_token", resendToken } }; return(success ? (IActionResult)Accepted(result) : BadRequest()); }
public async Task <ApplicationUser> SendVerificationCodeAsync(string key, string phoneNumber) { if (string.IsNullOrEmpty(key)) { throw new ArgumentException(nameof(key)); } if (string.IsNullOrEmpty(phoneNumber)) { throw new ArgumentException(nameof(phoneNumber)); } var user = await GetUserByPhoneAsync(phoneNumber); var verifyToken = await _phoneNumberTokenProvider .GenerateAsync($"{PhoneNumberVerificationPurpose}-{key}", _userManager, user); await DoSendVerificationCodeAsync(phoneNumber, verifyToken); return(user); }