示例#1
0
 public async Task <IActionResult> SendEmailConfirmationToken([FromBody] RequestResetPasswordTokenViewModel requestEmailConfirmationTokenViewModel)
 {
     return(await Validation_ModelState_wLog(ModelState, async() =>
     {
         var user = await userManager.FindByEmailAsync(requestEmailConfirmationTokenViewModel.Email);
         if (!user.EmailConfirmed)
         {
             var token = userBehaviour.GenerateCustomToken(user.Id, TokenType.Confirmation);
             await emailSender.SendEmailConfirmationTokenMessage(user.Email, token.ConfirmationTokenValue);
             return Ok();
         }
         return Ok();
     }));
 }
示例#2
0
 public async Task <IActionResult> SentResetPasswordToken([FromBody] RequestResetPasswordTokenViewModel requestResetPasswordTokenViewModel)
 {
     return(await Validation_UserExistance_ModelState(requestResetPasswordTokenViewModel.Email, ModelState, async (user) =>
     {
         if (!user.EmailConfirmed)
         {
             return Conflict("Email confirmation is required first.");
         }
         var token = userBehaviour.GenerateCustomToken(user.Id, TokenType.Reset);
         new Thread(() =>
         {
             emailSender.SendPasswordResetTokenMessage(requestResetPasswordTokenViewModel.Email, token.ResetPasswordTokenValue);
         })
         {
             Priority = ThreadPriority.BelowNormal,
             IsBackground = true
         }.Start();
         return Ok();
     }));
 }