예제 #1
0
        public async Task <IActionResult> GeneratePasswordResetToken(string email)
        {
            if (string.IsNullOrWhiteSpace(email))
            {
                return(BadRequest("Can not request password reset for invalid email"));
            }

            var user = await accountBusiness.FindUserAsync(email);

            if (user is null)
            {
                return(BadRequest("Can not request password reset."));
            }

            var token = await accountBusiness.GeneratePasswordResetTokenAsync(user);

            var encodedToken = HttpUtility.UrlEncode(token);

            // send via email
            await _googleMailService.SendPasswordResetEmailAsync(email, user, encodedToken);

            return(Ok());
        }