public async Task<IActionResult> LoginPost(LoginViewModel loginViewModel) { LoginModel model = Mapper.Map<LoginModel>(loginViewModel); var validator = new LoginModelValidator(); var result = validator.Validate(model); if (!result.IsValid) { ModelState.ApplyValidationFailures(result.Errors); } else { var signInResult = await _identityService.LoginAsync(model); if (signInResult.Succeeded) { if (string.IsNullOrEmpty(loginViewModel.ReturnUrl)) { return RedirectToAction("Index", "Home"); } else { return Redirect(loginViewModel.ReturnUrl); } } else { ModelState.AddModelError(string.Empty, $"Nie znaleziono użytkownika {loginViewModel.Login}"); } } loginViewModel.Password = string.Empty; return View(loginViewModel); }
public LoginForm() { InitializeComponent(); context = ContextProvider.GetApplicationContext(); loginValidator = new LoginModelValidator(); }
public void DefineValidator() { var locManager = new Mock<ILocalizationManager>(); locManager.Setup( s => s.GetValidatorTranslationTEST(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>())) .Returns("Some test string"); this.validator = new LoginModelValidator(locManager.Object); }
public void GivenValidate_WhenHavingPasswordLengthEqual8_ThenResultShouldBeValid() { var loginModel = LoginModelFactory.Default().WithPassword("12345678"); var validator = new LoginModelValidator(); var result = validator.Validate(loginModel); result.IsValid.Should().BeTrue(); }
public void GivenValidate_WhenHavingPasswordLengthMoreThan60_ThenResultShouldBeInvalid() { var loginModel = LoginModelFactory.Default().WithPassword(string.Create(61, '1', (colector, input) => colector.Fill(input))); var validator = new LoginModelValidator(); var result = validator.Validate(loginModel); result.IsValid.Should().BeFalse(); result.Errors.Count.Should().Be(1); }
public void GivenValidate_WhenHavingPasswordLengthLessThan8_ThenResultShouldBeInvalid() { var loginModel = LoginModelFactory.Default().WithPassword("parola"); var validator = new LoginModelValidator(); var result = validator.Validate(loginModel); result.IsValid.Should().BeFalse(); result.Errors.Should().HaveCount(1); }
public void GivenValidate_WhenHavingAnInvalidEmailAdress_ThenResultShouldBeInvalid() { var loginModel = LoginModelFactory.Default().WithEmail("florin"); var validator = new LoginModelValidator(); var result = validator.Validate(loginModel); result.IsValid.Should().BeFalse(); result.Errors.Should().HaveCount(1); }
public void GivenValidate_WhenHavingANullPasswordAndEmail_ThenResultShouldBeInvalid() { var loginModel = LoginModelFactory.Default().WithPassword(null).WithEmail(null); var validator = new LoginModelValidator(); var result = validator.Validate(loginModel); result.IsValid.Should().BeFalse(); result.Errors.Should().HaveCount(2); }
public void GivenValidate_WhenHavingEmailLengthEqualWith300_ThenResultShouldBeValid() { var loginModel = LoginModelFactory.Default().WithEmail(string.Create(190, '1', (colector, input) => colector.Fill(input)) + "@gmail.com"); var validator = new LoginModelValidator(); var result = validator.Validate(loginModel); result.IsValid.Should().BeTrue(); result.Errors.Should().HaveCount(0); }
public void GivenValidate_WhenHavingAValidInput_ThenResultShouldBeValid() { var loginModel = LoginModelFactory.Default(); var validator = new LoginModelValidator(); var result = validator.Validate(loginModel); result.IsValid.Should().BeTrue(); result.Errors.Should().BeEmpty(); }
public async Task <IActionResult> Login([FromBody] LoginModel model) { try { var validator = new LoginModelValidator(); if (model == null || !validator.Validate(model)) { return(BadRequest()); } var user = await userService.GetWhere(new { Email = model.Email }); if (user == null) { return(NotFound()); } if (!BCrypt.Net.BCrypt.Verify(model.Password, user.Password)) { return(Unauthorized()); } if (user.DeactivatedOn != null) { return(Forbid()); } var tokenManager = new JwtManager(config, user.Email, user.Id.ToString(CultureInfo.InvariantCulture)); if (user.Staff) { tokenManager.Claim(ClaimTypes.Role, "Staff"); } tokenManager.Build(); user.Email = null; user.Password = null; return(Ok(new { Token = tokenManager.Token.Value, TokenValidTo = tokenManager.Token.ValidTo, User = user })); } catch (Exception e) { logger.LogError(e, e.Message); return(StatusCode(500)); } }
public LoginViewModel() { _userClient = new UserClient(); _validator = new LoginModelValidator(); RegisterCommand = new RelayCommand(DoRegister); LoginCommand = new RelayCommand <object>(DoLogin); ForgotPasswordCommand = new RelayCommand(DoForgotPassword); ResendCommand = new RelayCommand(DoResend); if (IsLoaded) { OnLoad(this, null); } else { Loaded += OnLoad; } }
public async Task <IActionResult> Login([FromBody] LoginModel model) { var validationResult = new LoginModelValidator().ValidateRequest(model); if (validationResult != null) { return(ValidationProblem(validationResult)); } var result = await _service.LogIn(model); if (string.IsNullOrWhiteSpace(result)) { return(Unauthorized()); } return(Ok(new { token = result })); }
public SignInModel() { Validator = new LoginModelValidator(); }
public async Task <ServiceResponse <ProfileViewModel> > Login([FromBody] LoginModel model) { var response = new ServiceResponse <ProfileViewModel>(); try { var validation = new LoginModelValidator(); var results = validation.Validate(model); response.ErrorMessages = results.Errors.ToList(); if (!response.Successful) { return(response); } await this._signInManager.SignOutAsync(); var result = await this._signInManager.PasswordSignInAsync( model.Email, model.Password, model.RememberMe, false); if (!result.Succeeded) { response.ErrorMessages.Add( result.IsLockedOut ? new ValidationFailure(model.Email, $"User {model.Email} account locked out.") : new ValidationFailure(model.Email, "Invalid login attempt.")); } else { var user = await this._userManager.FindByEmailAsync(model.Email); if (!user.EmailConfirmed) { response.ErrorMessages.Add( new ValidationFailure(model.Email, "your login account is not verified yet.")); } else if (user.Disabled) { response.ErrorMessages.Add( new ValidationFailure( model.Email, "Your profile has been disabled please contact administration.")); } else { response = new ServiceResponse <ProfileViewModel> { Data = new ProfileViewModel { Email = model.Email, Id = user.Id, FirstName = user.FirstName, LastName = user.LastName, Token = await this._commonService.GenerateToken( model.Email, model.Password) } } }; } } catch (Exception ex) { response.ErrorMessages.Add(new ValidationFailure(model.Email, "Invalid login attempt.")); } return(response); }