优化接口

This commit is contained in:
tongfei
2024-03-20 15:25:40 +08:00
parent f53ec5bdc7
commit c61a1ecba7

View File

@@ -370,37 +370,46 @@ namespace WMS.Web.Domain.Services.Public
reqData.GrantType = "refresh_token"; reqData.GrantType = "refresh_token";
reqData.RefreshToken = RefreshToken; reqData.RefreshToken = RefreshToken;
reqData.Scope = "credentials"; reqData.Scope = "credentials";
string result = _httpClientHelp.PostHttp(_soaOptions.Url_V3 + "/uc/authorize", reqData); try
var jObject = JsonObject.Parse(result);
LoginInDto r = new LoginInDto();
r.UserInfo = new UserInfoDto();
r.TokenInfo = new AccessTokenDto();
if (jObject["code"] == 0)
{ {
string datajson = jObject["data"].ToString(); _logger.LogInformation("RefreshTokenNew" + _soaOptions.Url_V3 + "/uc/authorize" + "Data" + JsonConvert.SerializeObject(reqData));
var _loginDto = JsonConvert.DeserializeObject<LoginTempV2Dto>(datajson); string result = _httpClientHelp.PostHttp(_soaOptions.Url_V3 + "/uc/authorize", reqData);
var jObject = JsonObject.Parse(result);
r.UserInfo = loginInfo.UserInfo; LoginInDto r = new LoginInDto();
r.SignedIn = true; r.UserInfo = new UserInfoDto();
var token = await CreateToken(loginInfo.UserInfo, _loginDto, Token); r.TokenInfo = new AccessTokenDto();
r.TokenInfo = token;
loginInfo.TokenInfo = token; if (jObject["code"] == 0)
//_logger.LogInformation("RefreshToken:我在刷新登录:刷新后的过期时间-1>" + token.Expired.ToString()); {
var ops_login_time = token.Expired.AddDays(1) - DateTime.Now;//用于正式 string datajson = jObject["data"].ToString();
_redisClientService.SetStringKey<LoginInDto>($"wms_login_{token.Token}", loginInfo, ops_login_time); var _loginDto = JsonConvert.DeserializeObject<LoginTempV2Dto>(datajson);
//_logger.LogInformation("RefreshToken:我在刷新登录:刷新后的过期时间-小时->" + ops_login_time.Hours);
return Result<LoginInDto>.ReSuccess(r); r.UserInfo = loginInfo.UserInfo;
r.SignedIn = true;
var token = await CreateToken(loginInfo.UserInfo, _loginDto, Token);
r.TokenInfo = token;
loginInfo.TokenInfo = token;
//_logger.LogInformation("RefreshToken:我在刷新登录:刷新后的过期时间-1>" + token.Expired.ToString());
var ops_login_time = token.Expired.AddDays(1) - DateTime.Now;//用于正式
_redisClientService.SetStringKey<LoginInDto>($"wms_login_{token.Token}", loginInfo, ops_login_time);
//_logger.LogInformation("RefreshToken:我在刷新登录:刷新后的过期时间-小时->" + ops_login_time.Hours);
return Result<LoginInDto>.ReSuccess(r);
}
else
{
//失败了1就把登录的token清除 2 ucid添加到黑名单
var time = new TimeSpan(r.TokenInfo.Expired.Day, r.TokenInfo.Expired.Hour, r.TokenInfo.Expired.Minute, r.TokenInfo.Expired.Second, r.TokenInfo.Expired.Millisecond);
_redisClientService.SetStringKey($"wms_black_token_{r.UserInfo.UcId}", r.TokenInfo.Token, time);
this.RemoveLoginInfo(r.TokenInfo.Token);
r.SignedIn = false;
return Result<LoginInDto>.ReFailure(jObject["message"], jObject["code"]);
}
} }
else catch (Exception ex)
{ {
//失败了1就把登录的token清除 2 ucid添加到黑名单 _logger.LogInformation("RefreshTokenNewError" + ex.Message);
var time = new TimeSpan(r.TokenInfo.Expired.Day, r.TokenInfo.Expired.Hour, r.TokenInfo.Expired.Minute, r.TokenInfo.Expired.Second, r.TokenInfo.Expired.Millisecond); return Result<LoginInDto>.ReFailure(ex.Message, 50001);
_redisClientService.SetStringKey($"wms_black_token_{r.UserInfo.UcId}", r.TokenInfo.Token, time);
this.RemoveLoginInfo(r.TokenInfo.Token);
r.SignedIn = false;
return Result<LoginInDto>.ReFailure(jObject["message"], jObject["code"]);
} }
} }