Esempio n. 1
0
        public async Task <IActionResult> Authenticate(User userInfo)
        {
            var user = await _userService.GetUser(userInfo.Email);

            if (user != null)
            {
                if (user.Password == userInfo.Password)
                {
                    var claims = _userService.GenerateClaimsForUser(user);

                    user.Token        = _tokenService.GenerateJwtToken(claims);
                    user.RefreshToken = _tokenService.GenerateJwtRefreshToken();
                    await dbContext.SaveChangesAsync();

                    return(Ok(new { token = user.Token, refreshToken = user.RefreshToken }));
                }
                else
                {
                    return(BadRequest(new { message = "Password is not matched!" }));
                }
            }
            else
            {
                return(BadRequest(new { message = "User is not exist!" }));
            }
        }