public async Task <IActionResult> RefreshToken([FromBody] JToken jsonBody) { var refreshTokenValue = jsonBody.Value <string>("refreshToken"); if (string.IsNullOrWhiteSpace(refreshTokenValue)) { return(BadRequest("refreshToken is not set.")); } var token = await _tokenStoreService.FindTokenAsync(refreshTokenValue); if (token == null) { return(Unauthorized()); } var result = await _tokenFactoryService.CreateJwtTokensAsync(token.User); await _tokenStoreService.AddUserTokenAsync(token.User, result.RefreshTokenSerial, result.AccessToken, _tokenFactoryService.GetRefreshTokenSerial(refreshTokenValue)); await _uow.SaveChangesAsync(); _antiforgery.RegenerateAntiForgeryCookies(result.Claims); return(Ok(new { access_token = result.AccessToken, refresh_token = result.RefreshToken })); }
public async Task <IActionResult> RefreshToken([FromBody] JToken jsonBody) { var refreshToken = jsonBody.Value <string>("refreshToken"); if (string.IsNullOrWhiteSpace(refreshToken)) { return(BadRequest("refreshToken is not set.")); } var token = await _tokenStoreService.FindTokenAsync(refreshToken); if (token == null) { return(Unauthorized()); } var(accessToken, newRefreshToken) = await _tokenStoreService.CreateJwtTokens(token.User, refreshToken); return(Ok(new { access_token = accessToken, refresh_token = newRefreshToken })); }
public async Task <IActionResult> RefreshToken(string refresh_token) { if (string.IsNullOrWhiteSpace(refresh_token)) { return(new BadRequestObjectResult(ApiResponse <string> .ErrorResult(message: "refreshToken is not set.", statusCode: HttpStatusCode.BadRequest))); } var token = await _tokenStoreService.FindTokenAsync(refresh_token); if (token == null) { return(new BadRequestObjectResult(ApiResponse <string> .ErrorResult(message: "Unauthorized.", statusCode: HttpStatusCode.Unauthorized))); } var(accessToken, newRefreshToken, claims) = await _tokenStoreService.CreateJwtTokens(token.User, refresh_token); //_antiforgery.RegenerateAntiForgeryCookies(claims); return(new OkObjectResult(ApiResponse <object> .SuccessResult(new { access_token = accessToken, refresh_token = newRefreshToken }))); }
//public async Task<IActionResult> RefreshToken([FromBody] JToken jsonBody) public async Task <IActionResult> RefreshToken(string refreshToken) { //var refreshToken = jsonBody.Value<string>("refreshToken"); if (string.IsNullOrWhiteSpace(refreshToken)) { return(BadRequest("JWT Auth Server : RefreshToken is not set.")); } var token = await _tokenService.FindTokenAsync(refreshToken); token.User.SerialNumber = token.User.Id; token.User.Issuer = "Insypher"; var(accessToken, newRefreshToken, claims) = await _tokenService.CreateJwtToken(token.User, refreshToken); _antiForgeryCookieService.RegenerateAntiForgeryCookies(claims); return(Ok(new { access_token = accessToken, refresh_token = newRefreshToken })); }
public async Task <IActionResult> RefreshToken([FromBody] JToken jsonBody) { string refreshToken = jsonBody.Value <string>("refreshToken"); if (string.IsNullOrWhiteSpace(refreshToken)) { return(BadRequest("refreshToken is not set.")); } Models.DbModels.UserToken token = await _tokenStoreService.FindTokenAsync(refreshToken); if (token == null) { return(Unauthorized()); } (string accessToken, string newRefreshToken, System.Collections.Generic.IEnumerable <Claim> claims) = await _tokenStoreService.CreateJwtTokens(token.User, refreshToken); //_antiforgery.RegenerateAntiForgeryCookies(claims); return(Ok(new AccessToken { access_token = accessToken, refresh_token = newRefreshToken })); }