Beispiel #1
0
        public async Task <IActionResult> Login([FromBody] UserLoginDto userDto)
        {
            if (ModelState.IsValid)
            {
                var user = await userManager.FindByEmailAsync(userDto.Login);

                if (user != null)
                {
                    var result = await signInManager.PasswordSignInAsync(userDto.Login, userDto.Password, userDto.RememberMe, false);

                    if (result.Succeeded)
                    {
                        string access_token = generator.GenerateTokenForUser(user.Id, user.UserName);

                        var response = new
                        {
                            access_token,
                        };

                        return(Ok(response));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Invalid password");
                        return(BadRequest(ModelState));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid username");
                    return(BadRequest(ModelState));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }