コード例 #1
0
        public ActionResult <string> Login([FromBody] LoginDto login)
        {
            var validation = _loginDtoValidator.Validate(login);

            if (!validation.IsValid)
            {
                return(BadRequest(validation.ToString()));
            }

            if (!_userRepository.UserExists(login.Email))
            {
                return(BadRequest("Incorrect email address. Please try again."));
            }

            if (!_userHelper.PasswordsMatch(login.Password, _userRepository.GetPasswordHash(login.Email)))
            {
                return(BadRequest("Incorrect password. Please try again."));
            }

            var user = _userRepository.GetUser(login.Email);

            return(_userHelper.BuildToken(user));
        }
コード例 #2
0
    public async Task<IActionResult> CreateToken([FromBody] LoginTARequest model)
    {
        if (ModelState.IsValid)
        {
            var user = await _userHelper.GetUserByEmailAsync(model.Email);
                if (user == null)
                   {    return NotFound(MessageCenter.webApplabelEmailNotFound + " " + model.Email);  }
                else
                    {
                        var result = await _userHelper.ValidatePasswordAsync(user, model.Password);

                        if (result.Succeeded)
                           { return Created(string.Empty, _userHelper.BuildToken(model)); }
                        else
                           { return BadRequest(MessageCenter.webApplabelLoginFail);       }
                    }
        }

        return BadRequest();
    }