public void ChangePasswordTest() { // Arrange ChangePasswordRequest req = new ChangePasswordRequest { CurrentPassword = currentPassword, NewPassword = newPassword1 }; // Act BaseResponse res = secAuthSvc.User.ChangePassword(goodUsername, req); // Assert Assert.AreEqual(Constants.ResponseStatus.Success, res.Status); // Validate new password // Arrange ValidatePasswordRequest vReq = new ValidatePasswordRequest(goodUsername, newPassword1); // Act BaseResponse vRes = secAuthSvc.Authenticate.ValidatePassword(vReq); // Assert Assert.AreEqual(Constants.ResponseStatus.Valid, vRes.Status); }
public void CreateUserTest() { // Arrange CreateUserRequest req = new CreateUserRequest(); req.UserId = newUserId; req.Password = newPassword2; req.Properties.Add("firstName", newFirstName); req.Properties.Add("lastName", newLastName); req.KnowledgeBase.Add("kbq1", new KbProperty("Which day were you born?", "Tuesday")); // Act BaseResponse res = secAuthSvc.User.CreateUser(req); // Assert Assert.AreEqual(Constants.ResponseStatus.Success, res.Status); // Validate password for new user // Arrange ValidatePasswordRequest req2 = new ValidatePasswordRequest(req.UserId, req.Password); // Act BaseResponse res2 = secAuthSvc.Authenticate.ValidatePassword(req2); // Assert Assert.AreEqual(Constants.ResponseStatus.Valid, res2.Status); }
public bool Authenticate(string username, string password) { ValidatePasswordRequest request = new ValidatePasswordRequest(); request.Username = username; request.Password = Helper.Hash(password); return(_membershipService.Validate(request).Result); }
// 4-16-20 - Sean Dyon static void Main(string[] args) { // Setup the configuration object with your // SecureAuth API ID, API Key, and URL Configuration saApiConfig = new Configuration() { AppId = "your_app_id", AppKey = "your_app_key", SecureAuthRealmUrl = "https://your_url.identity.secureauth.com/SecureAuth1/" }; // Instantiate a service object. Passing in the configuration. SecureAuthService saService = new SecureAuthService(saApiConfig); // Send the Request to get Authentication Options for User GetFactorsResponse res = saService.User.GetFactors("someuser"); Console.WriteLine("---- Get User Auth Options: ----"); Console.WriteLine(res.RawJson); Console.WriteLine("---- Get User Auth Options Sttatus: ----"); Console.WriteLine(res.Status); /* * Example Postman creating user * { * "userId": "test2", * "password": "******", * "properties": { * "firstName": "Test", * "lastName": "User", * "phone1": "123-456-7890", * "email1": "*****@*****.**" * } * } */ // Create User Object CreateUserRequest req = new CreateUserRequest(); req.UserId = "someuser"; req.Password = "******"; req.Properties.Add("firstName", "Test"); req.Properties.Add("lastName", "User"); req.Properties.Add("phone1", "123-456-7890"); req.Properties.Add("email1", "*****@*****.**"); // Send the Request BaseResponse res2 = saService.User.CreateUser(req); Console.WriteLine("---- Creating User: ----"); Console.WriteLine(res2.Status); // Validate password for new user ValidatePasswordRequest req2 = new ValidatePasswordRequest(req.UserId, req.Password); Console.WriteLine("---- Validating Password: ----"); Console.WriteLine(res2.Status); }
public void ValidateBadPasswordTest() { // Arrange ValidatePasswordRequest req = new ValidatePasswordRequest(goodUsername, badPassword); // Act BaseResponse res = secAuthSvc.Authenticate.ValidatePassword(req); // Assert Assert.AreEqual(Constants.ResponseStatus.Invalid, res.Status); }
private static Task <ValidatePasswordResponse> GetResultFromHandler(string password) { var handler = new ValidatePasswordHandler(); var request = new ValidatePasswordRequest { Password = password }; var cancelationToken = new CancellationToken(); return(handler.Handle(request, cancelationToken)); }
public async Task <IActionResult> ValidatePassword([FromBody] ValidatePasswordRequest request) { if (!ModelState.IsValid) { return(BadRequest(new ValidationProblemDetails(ModelState))); } User user = null; if (!string.IsNullOrWhiteSpace(request.Token) && Base64Id.TryParse(request.Token, out var userId)) { user = await _userManager.FindByIdAsync(userId.Id.ToString()); } var userAvailable = user != null; var userNameAvailable = !string.IsNullOrWhiteSpace(request.UserName); var availableRules = GetAvailableRules(userAvailable, userNameAvailable).ToDictionary(rule => rule.Key, rule => new PasswordRuleInfo { Code = rule.Key, IsValid = true, Description = rule.Value.Description, Requirement = rule.Value.Hint }); foreach (var validator in _userManager.PasswordValidators) { var userInstance = user ?? (userNameAvailable ? new User { UserName = request.UserName } : new User()); var result = await validator.ValidateAsync(_userManager, userInstance, request.Password ?? string.Empty); if (!result.Succeeded) { foreach (var error in result.Errors) { if (availableRules.ContainsKey(error.Code)) { availableRules[error.Code].IsValid = false; } } } } return(Ok(new CredentialsValidationInfo { PasswordRules = availableRules.Values.ToList() })); }
public ValidatePasswordResponse Validate(ValidatePasswordRequest request) { ValidatePasswordResponse response = new ValidatePasswordResponse(); Query query = new Query(); query.Add(new Criterion("Password", request.Password, CriteriaOperator.Equal)); query.QueryOperator = QueryOperator.And; query.Add(new Criterion("UserName", request.Username, CriteriaOperator.Equal)); List <User> users = _repository.FindBy(query).ToList(); if (users.Count > 0) { response.Result = true; } else { response.Result = false; } return(response); }
public async Task <ActionResult> ValidatePassword([FromBody] ValidatePasswordRequest request, CancellationToken cancellationToken) { var response = await Mediator.Send(request, cancellationToken); return(Ok(response)); }