예제 #1
0
        public async Task <IActionResult> ForgotPassword([FromBody] AwsCognitoUser cognitoUser)
        {
            var forgotPasswordResponse = await _authAdapter.ResetPasswordAsync(cognitoUser);

            switch (forgotPasswordResponse.StatusCode)
            {
            case HttpStatusCode.OK:
                return(new OkObjectResult("Password reset code sent."));

            case HttpStatusCode.BadRequest:
                return(new BadRequestObjectResult($"Password reset failed. User {cognitoUser.UserName} is unconfirmed."));

            case HttpStatusCode.NotFound:
                return(new NotFoundObjectResult($"Password reset failed. User {cognitoUser.UserName} does not exist."));

            default:
                return(new ContentResult
                {
                    ContentType = "text/plain",
                    Content = "An error has occurred",
                    StatusCode = (int)forgotPasswordResponse.StatusCode
                });
            }
        }