コード例 #1
0
        public async Task ForgotPasswordAsync(ForgotPassowrdModel forgotPassowrdModel)
        {
            var user = await userManager.FindByEmailAsync(forgotPassowrdModel.Email);

            if (user != null)
            {
                var token = await userManager.GeneratePasswordResetTokenAsync(user);

                var passwordReseLink = string.Concat(GlobalConfig.PresentationBaseUrl, $"/reset/resetpassword?token={Base64UrlEncoder.Encode(token)}&email={user.Email}");

                var messageBuilder = new EmailBuilder(configuration)
                {
                    To         = new[] { user.Email },
                    Subject    = "Reset Password",
                    IsBodyHtml = true,
                    Body       = $"Hi {user.FullName} , please click on the link below reset your password. <br/><br/>" +
                                 $"{passwordReseLink} <br/><br/>" +
                                 $"Happy eating!!!"
                };
                await EmailBuilder.SendEmailAsync(messageBuilder);
            }
            else if (user == null)
            {
                throw new NullReferenceException("This email does not belong to any acccount");
            }
        }
コード例 #2
0
        public async Task <IActionResult> GetPasswordResetEmail([FromBody] ForgotPassowrdModel forgotPassowrdModel)
        {
            try
            {
                await securityService.ForgotPasswordAsync(forgotPassowrdModel);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(HandleExcpetion(ex));
            }
        }