Пример #1
0
        public async Task <AuthenticationResult> AuthenticateAsync(UserAccountAuthenticationRequest request)
        {
            var user = await _userManager.FindByNameAsync(request.Username);

            if (user == null)
            {
                return(new AuthenticationResult
                {
                    Errors = new[] { "User does not exist" }
                });
            }

            var userHasValidPassword = await _userManager.CheckPasswordAsync(user, request.Password);

            if (!userHasValidPassword)
            {
                return(new AuthenticationResult
                {
                    Errors = new[] { "User/password combination is wrong" }
                });
            }

            return(await GenerateAuthenticationResultForUserAsync(user));
        }
Пример #2
0
        public async Task <IActionResult> Authenticate([FromBody] UserAccountAuthenticationRequest request)
        {
            var authResponse = await _userAccountService.AuthenticateAsync(request);

            if (!authResponse.Success)
            {
                return(BadRequest
                       (
                           new AuthFailedResponse
                {
                    Errors = authResponse.Errors
                }
                       ));
            }

            return(Ok
                   (
                       new AuthSuccessResponse
            {
                Token = authResponse.Token,
                RefreshToken = authResponse.RefreshToken
            }
                   ));
        }