Beispiel #1
0
        public async Task <IActionResult> Login([FromBody] UserViewModel userViewModel)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(userViewModel.Username);

                if (user == null)
                {
                    return(Unauthorized());
                }

                var userResult = await _userManager.CheckPasswordAsync(user, userViewModel.Password);

                if (userResult)
                {
                    var tokenString = _tokenProvider.GenerateJwt();
                    return(Ok(new { token = tokenString }));
                }

                return(NotFound("invalid password"));
            }

            return(BadRequest(ModelState));
        }