public async Task <IActionResult> Refresh([FromBody] RefreshTokenRequest refreshToken) { try { if (string.IsNullOrWhiteSpace(refreshToken.RefreshToken)) { return(Unauthorized()); } var userName = User.Identity.Name; var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); var jwtResult = _jwtAuthManager.Refresh(refreshToken.RefreshToken, accessToken, DateTime.Now); return(Ok(new LoginResponse { Username = userName, Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString, })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); } }
public ActionResult RefreshToken(string RefreshToken, string AccessToken) { try { var UserName = User.Identity.Name; if (string.IsNullOrWhiteSpace(RefreshToken)) { return(Unauthorized()); } var jwtResult = _jwtAuthManager.Refresh(RefreshToken, AccessToken, DateTime.Now); return(Ok(new LoginResult { UserName = jwtResult.UserName, RefreshToken = jwtResult.RefreshToken, AccessToken = jwtResult.AccessToken })); } catch (SecurityTokenException ex) { return(Unauthorized(ex.Message)); } catch (Exception ex) { return(Unauthorized(ex.Message)); } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userName = User.Identity.Name; _logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); _logger.LogInformation($"User [{userName}] has refreshed JWT token."); return(Ok(new LoginResult { UserName = userName, Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // 401 } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userName = User.Identity?.Name; _logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } string header = _httpContextAccessor.HttpContext.Request.Headers["Authorization"]; header = header.Remove(0, 7); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, header, DateTime.Now); _logger.LogInformation($"User [{userName}] has refreshed JWT token."); return(Ok(new LoginResult { UserName = userName, Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userName = User.Identity.Name; if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); return(Ok(new LoginResult { UserName = userName, Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // return 401 so that the client side can redirect the user to login page } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userName = User.Identity?.Name; _loggerService.Info("User:"******"is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); _loggerService.Info("User:"******"has refreshed JWT token."); return(Ok(new { UserName = userName, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // return 401 so that the client side can redirect the user to login page } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userName = User.Identity.Name; _logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.RefreshToken))//check if the request token is not provided { return(Unauthorized()); } var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); //Get the Jwt access token var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); //Refresh the token and get JWTAuthResult _logger.LogInformation($"User [{userName}] has refreshed JWT token."); return(Ok(new LoginResult { UserName = userName, Role = User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // return 401 so that the client side can redirect the user to login page } }
public async Task <ActionResult <LoginResult> > RefreshToken([FromBody] RefreshTokenRequest request) { try { var username = User.Identity.Name; int?userId = Int32.Parse(User.FindFirst(ClaimTypes.NameIdentifier)?.Value); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); LoginResult result = new LoginResult { Username = username, UserId = userId, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString }; return(Ok(result)); } catch (SecurityTokenException exception) { return(Unauthorized(exception.Message)); } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userID = User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? string.Empty; _logger.LogInformation($"User [{userID}] is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now, userID); _logger.LogInformation($"User [{userID}] has refreshed JWT token."); return(Ok(new UserTokenModel { UserId = Convert.ToInt32(User.FindFirst(ClaimTypes.NameIdentifier)?.Value), Token = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString, RefreshTokenExpiration = jwtResult.RefreshToken.ExpireAt, Created_On = DateTime.Now })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userName = User.Identity.Name; _logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.refreshToken)) { return(Unauthorized()); } var accessToken = HttpContext.Request.Headers["Authorization"].FirstOrDefault()?.Replace("Bearer ", ""); var jwtResult = _jwtAuthManager.Refresh(request.refreshToken, accessToken, DateTime.Now); _logger.LogInformation($"User [{userName}] has refreshed JWT token."); return(Ok(new LoginResult { username = userName, accessToken = jwtResult.accessToken, refreshToken = jwtResult.refreshToken.tokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // return 401 so that the client side can redirect the user to login page } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { string userName = User.Identity?.Name ?? String.Empty; _logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); if (String.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } string?accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); JwtAuthResult jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); _logger.LogInformation($"User [{userName}] has refreshed JWT token."); return(Ok(new LoginResult { UserName = userName, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // return 401 so that the client side can redirect the user to login page } }
public async Task <LoginResult> Handle(RefreshTokenRequest request, CancellationToken cancellationToken) { var jwtResult = await _jwtAuthManager.Refresh(request.RefreshToken, request.AccessToken, DateTime.UtcNow); return(new LoginResult() { AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString, UserName = request.UserName, Role = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.Role)?.Value ?? string.Empty }); }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { var userName = User.Identity.Name; _logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); _logger.LogInformation(accessToken); var response = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); _logger.LogInformation($"User [{userName}] has refreshed JWT token."); return(Ok(response)); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // return 401 so that the client side can redirect the user to login page } }
public async Task <IActionResult> Refresh([FromBody] string token) { try { JwtAuthResult jwtResult = await _jwtAuthManager.Refresh(token, DateTime.Now); return(Ok(jwtResult.AccessToken)); } catch (UserNotFoundException e) { Log.Error(e.Message); return(BadRequest(e.Message)); } catch (Exception e) { Log.Error(e.Message); return(BadRequest()); } }
public IActionResult RefreshToken(RefreshTokenRequest request) { try { if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } var accessToken = Request.Headers[HeaderNames.Authorization].ToString().Replace("Bearer ", ""); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); return(Ok(new RefreshTokenResponse() { AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); } }
public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request) { try { // Fetch current user string userEmail = ((ClaimsIdentity)User.Identity).Claims.Where(c => c.Type == ClaimTypes.Email).FirstOrDefault().Value; var user = await _userManager.FindByEmailAsync(userEmail); // var userName = User.Identity?.Name; _logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { return(Unauthorized()); } var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token"); var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken, DateTime.Now); _logger.LogInformation($"User [{userName}] has refreshed JWT token."); var roles = await _userManager.GetRolesAsync(user); return(Ok(new LoginResult { //UserName = userName, Roles = roles.ToList <string>(), AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString })); } catch (SecurityTokenException e) { return(Unauthorized(e.Message)); // return 401 so that the client side can redirect the user to login page } }
public LoginResult RefreshToken(RefreshTokenRequest request, string userName, string token) { try { logger.LogInformation($"User [{userName}] is trying to refresh JWT token."); if (string.IsNullOrWhiteSpace(request.RefreshToken)) { throw new Exception($"User unauthorized"); } var jwtResult = jwtAuthManager.Refresh(request.RefreshToken, token, DateTime.Now); logger.LogInformation($"User [{userName}] has refreshed JWT token."); return(new LoginResult { UserName = userName, AccessToken = jwtResult.AccessToken, RefreshToken = jwtResult.RefreshToken.TokenString }); } catch (SecurityTokenException) { throw new Exception($"User unauthorized"); } }