/// <summary> /// 刷新token /// </summary> public static void RefeshToken() { RefreshTokenParam refreshTokenParam = new RefreshTokenParam(); refreshTokenParam.GetRequestUrl(); string url = refreshTokenParam.URL; string postData = string.Join("&", refreshTokenParam.m_DictParameters.Select(zw => zw.Key + "=" + zw.Value)); HttpClientRequest httpClient = new HttpClientRequest(); ResponseResult responseResult = httpClient.RequesResult(url, postData); if (responseResult.Success) { //进行序列化 if (!string.IsNullOrEmpty(responseResult.Result)) { try { } catch (Exception ex) { string meg = ex.Message; } } } }
/// <summary> /// 刷新 access token /// </summary> /// <param name="accessToken">用户 access token</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<RefreshToken> RefreshToken( string accessToken = null, CancellationToken cancellationToken = default) { await CheckLoggedIn(); var param = new RefreshTokenParam(); var res = await Request<RefreshTokenResponse>(param.CreateRequest(), cancellationToken, accessToken); return res.Result; }
/// <summary> /// 刷新 access token /// </summary> /// <param name="userId">用户 ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <RefreshToken> RefreshToken( string userId, CancellationToken cancellationToken = default) { var param = new RefreshTokenParam() { Id = userId }; var res = await client.Request <RefreshTokenResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
public async Task <Result> RefeshToken(RefreshTokenParam model) { var principal = _tokenService.GetPrincipalFromExpiredToken(model.Token); if (principal == null) { return(Result.Fail("Invalid token")); } var user = await _userManager.GetUserAsync(principal); var verifyRefreshTokenResult = _userManager.PasswordHasher.VerifyHashedPassword(user, user.RefreshTokenHash, model.RefreshToken); if (verifyRefreshTokenResult == PasswordVerificationResult.Success) { var token = await _tokenService.GenerateAccessToken(user); return(Result.Ok(new { token })); } return(Result.Fail("Indicates password verification failed.")); }