private string _generateRefreshToken(int id) { IJWTContainerModel jwtModel = StaticJWTContainer.GetAuthModel(id.ToString()); jwtModel.SecretKey = _secretKeyRefreshToken; jwtModel.ExpireMinutes = 13; _jwtService.SetVariable(jwtModel.SecretKey); return(_jwtService.GenerateToken(jwtModel)); }
public async Task <object> Login(UserLoginRequest credentials) { var user = await _userService.GetUserByCredentials(credentials.Email, credentials.Password); if (user == null) { throw new AuthenticationException("Credenciais Inválidas"); } var jwtTokenString = _jwtService.GenerateToken(user); var loggedUser = new { user.Id, user.Profile.Name, user.Email }; _httpContext.Items["user"] = loggedUser; return(new AuthenticatedUserResponse() { AccessToken = jwtTokenString, UserId = user.Id, UserName = user.Profile.Name }); }
public async Task <IActionResult> GenerateToken(AuthRequest model) { var user = await _db.Users.FirstOrDefaultAsync(x => x.UserName == model.UserName); if (user == null) { return(Unauthorized()); } if (user.Password != Encrypt.MDString(model.Password)) { return(Unauthorized()); } var claims = new List <Claim>() { new Claim("userid", user.Id.ToString()), new Claim("username", user.UserName), new Claim("can_view", "true") }; if (user.IsAdmin) { claims.Add(new Claim("can_delete", "true")); } return(Ok(new { token = _jwtService.GenerateToken(claims) })); }
public AuthenticationResponseDTO Auth(AutehnticationRequestDTO request) { var user = Mapper.Map <User>(request); return(new AuthenticationResponseDTO { Token = jwtService.GenerateToken(request.User) }); }
public IActionResult Authenticate([FromBody] LoginForm login) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_jWTService.CheckAccount(new LoginForm(login.email, _userService.EncodePassword(login.password)))) { return(NotFound(new Response("404", "Email or password is not correct!"))); } var id = _userService.GetIdByEmail(login.email); var AccessToken = _jWTService.GenerateToken(id, login.email); var RefreshToken = _jWTService.GenerateRefreshToken(); _userService.UpdateRefreshToken(_userService.GetIdByEmail(login.email), RefreshToken); return(Ok(new LoginRespone(AccessToken, RefreshToken))); }
public async Task <UserRegisterResponse> Regiser(UserRegisterRequest userRequest) { var user = new User(userRequest.Email, userRequest.Password); var registeredUser = await _userRepository.Add(user); var jwtTokenString = _jwtService.GenerateToken(registeredUser); return(new UserRegisterResponse { Email = registeredUser.Email, Token = jwtTokenString }); }
public async Task <JWTokenResponse> Login(UserLoginRequest user) { var userLogin = await _userRepository.Login(user.Email, user.Password); if (userLogin == null) { return(null); } var jwtTokenString = _jwtService.GenerateToken(userLogin); return(new JWTokenResponse() { JwtToken = jwtTokenString }); }
public async Task <string> Handle(ValidateUserCommand request, CancellationToken cancellationToken) { var user = await dbContext.Users.FirstOrDefaultAsync(x => x.Login == request.Login); if (user == null) { throw new BusinessLogicException($"User {request.Login} doesn't exist"); } else if (user.Password != request.Password) { throw new BusinessLogicException("Wrong credentials"); } else { return(jwtService.GenerateToken(user)); } }