コード例 #1
0
        public async Task <IActionResult> ForgotPassword([FromBody] ForgotPasswordRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var user = await _userManager.FindByEmailAsync(request.EmailAddress);

            if (user == null || !(await _userManager.IsEmailConfirmedAsync(user)))
            {
                return(Ok());
            }

            var code = await _userManager.GeneratePasswordResetTokenAsync(user);

            string baseURL = $"{Request.Scheme}://{Request.Host.Value}";
            await _emailSender.SendForgotPasswordEmail(user, code, baseURL);

            return(Ok());
        }