public ReturnResult <ApiToken> RefreshAccessToken(int appId, string refreshToken) { var rst = new ReturnResult <ApiToken>(); //根据AppId获取对应的应用服务器地址 var appRst = new AppsBll().GetOne(new Apps() { Id = appId }); if (appRst.Result) { var apps = appRst.Data; WebHeaderCollection headers = new WebHeaderCollection(); headers.Add("app_key", apps.AppId); var tokenRst = GetDataFromAPI <TokenResult>(new RequestPara() { ServerUrl = apps.AppServer, ApiPath = "/iocm/app/sec/v1.1.0/refreshToken", Method = HttpClientActionMethod.POST, ContentType = "application/json", Headers = headers, PostData = JsonHelper.Instance.Serialize(new { appId = apps.AppId, secret = apps.Secret, refreshToken }), CertFile = ApiConfig.CertFile, CertPassword = ApiConfig.CertPassword }); if (tokenRst.Result && !string.IsNullOrEmpty(tokenRst.Data.accessToken)) { //添加到数据库 var model = new ApiToken() { AppId = appId, AccessToken = tokenRst.Data.accessToken, AccessTokenCreateTime = DateTime.Now.AddMinutes(-2), AccessTokenExpiresIn = tokenRst.Data.expiresIn, RefreshToken = tokenRst.Data.refreshToken, RefreshTokenExpiresTime = DateTime.Now.AddDays(1) }; var bll = new ApiTokenBll(); var addRst = bll.Update(model); if (addRst.Result) { //刷新成功 rst.Result = true; rst.Data = model; rst.Message = tokenRst.Message; } } } return(rst); }