示例#1
0
        public User ValidateLogin(LoginCredentialsForm credentials)
        {
            var storedUser = _userRepository.GetFromUsername(credentials.Username);

            if (storedUser != null && _passwordManager.VerifyPassword(storedUser, credentials))
            {
                return(storedUser);
            }

            return(null);
        }
示例#2
0
        public bool VerifyPassword(User storedUser, LoginCredentialsForm credentials)
        {
            PasswordIngredients credentialIngredients = new PasswordIngredients()
            {
                Passphrase = credentials.Passphrase, Salt = storedUser.Salt
            };

            credentialIngredients = HashPassphrase(credentialIngredients);

            return(storedUser.Password == credentialIngredients.Password);
        }
示例#3
0
        public IActionResult Login([FromBody] LoginCredentialsForm credentials)
        {
            var user = _registrar.ValidateLogin(credentials);

            if (user == null)
            {
                return(BadRequest("Incorect Username or Password"));
            }

            var response = _tokenManager.CreateToken(user);

            return(Ok(response));
        }
示例#4
0
        public IActionResult Login([FromBody] LoginCredentialsForm credentials)
        {
            var user = _registrar.ValidateLogin(credentials);

            if (user == null)
            {
                return(BadRequest(new ErrorResponse("Incorect Username or Password")));
            }

            TokenManager tokenizer = new TokenManager();
            var          response  = tokenizer.CreateToken(user, _settings.Value.TokenOptions);

            return(Ok(response));
        }