public IHttpActionResult Login(AuthenticateRequest request) { var username = request?.Username; var password = request?.Password; if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password)) { return(Ok(new { success = false })); } var result = AuthenticateWebUser.Authenticate(request.Username, request.Password, request.Persist); var redirectUrl = string.Empty; if (result.State == AuthenticateUserResultState.TemporaryPassword) { var userResetPassword = GenerateUserResetPassword.Generate(result.User); if (userResetPassword != null) { redirectUrl = UserResetPasswordUrlFactory.Create(userResetPassword); } } return(Ok(new { success = result.Success, redirectUrl = redirectUrl })); }
public IWebGenerateUserResetPasswordResult Generate(string email) { var user = FindUser.Find(email); if (user == null) { return(CreateResult(WebGenerateUserResetPasswordStatus.UserNotFound)); } var userResetPassword = GenerateUserResetPassword.Generate(user); if (userResetPassword == null) { return(CreateResult(WebGenerateUserResetPasswordStatus.Failure)); } Actions.Process(userResetPassword); var result = CreateResult(WebGenerateUserResetPasswordStatus.Success); result.Token = userResetPassword.Token; return(result); }