Exemple #1
0
        /// <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;
 }
Exemple #3
0
            /// <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);
            }
Exemple #4
0
        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."));
        }