From d814d1169008b492ea4e44c9f65e398cc6e504e3 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Thu, 21 Mar 2024 10:11:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=88=B7=E6=96=B0token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/TestController.cs | 12 +++++++----- src/WMS.Web.Api/appsettings.json | 2 +- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 2 +- src/WMS.Web.Domain/Services/Public/LoginService.cs | 14 +++++++++----- .../AuthorizationTokenSecurityPolicy.cs | 8 ++++---- 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 11b24cba..faeb383d 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -44,13 +44,15 @@ namespace WMS.Web.Api.Controllers private readonly IInStockTaskRepositories _inStockTaskRepositories; private readonly IOutStockService _outStockService; private readonly IWebHostEnvironment _env; + private readonly ILoginService _loginService; private readonly AppOptions _options; public TestController(IErpService erpService, IInStockTaskService inStockTaskService, IBoxInventoryRepositories boxInventoryRepositories, IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, IBasicsRepositories basicsRepositories, - IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions options, + IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions options, ILoginService loginService, ITakeStockService takeStockService, ITakeStockRepositories takeStockRepositories, IOutStockService outStockService, IInStockTaskRepositories inStockTaskRepositories, IWebHostEnvironment env) { + _loginService = loginService; _inStockTaskRepositories = inStockTaskRepositories; _basicsRepositories = basicsRepositories; _options = options?.Value; @@ -322,10 +324,10 @@ namespace WMS.Web.Api.Controllers [Route("lst2")] public async Task Lst2() { - var ids = new List(); - ids.Add(1); - var result = await _inStockTaskRepositories.GetList(ids); - return JsonConvert.SerializeObject(result); + var oldtoken = "3d046dc06a3f4f1ebcda93e921012c82"; + var retoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTEwNzIwNjksImlhdCI6MTcxMDk4NTY2OSwianRpIjoiMDA1NTFmM2ItNDQ5Ny00NzU1LTljNGQtNTNiODUxMDBjOTk5In0.XjHDfHhqvfap5MZPqTd45zi1L2_mgxu-lLnyqTKrhD0"; + await _loginService.RefreshTokenNew(oldtoken, retoken); + return ""; } } } diff --git a/src/WMS.Web.Api/appsettings.json b/src/WMS.Web.Api/appsettings.json index a9a1d8b0..f4032e56 100644 --- a/src/WMS.Web.Api/appsettings.json +++ b/src/WMS.Web.Api/appsettings.json @@ -28,7 +28,7 @@ }, "SoaOptions": { "ModuleID": 25, - "Url_V3": "http://dev.uc.v3.f2b211.com", //正式http://uc.v3.f2b211.com + "Url_V3": "https://dev.uc.v3.f2b211.com", //正式http://uc.v3.f2b211.com "Url": "http://dev.uc.f2b211.com", "AppId": "100528847652388864", "AppSecret": "fa950a1fe690fe610338084b49db7db9", diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index f1113b5a..ea782465 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -5333,7 +5333,7 @@ 鍒锋柊token - + diff --git a/src/WMS.Web.Domain/Services/Public/LoginService.cs b/src/WMS.Web.Domain/Services/Public/LoginService.cs index dd829711..b4e6e879 100644 --- a/src/WMS.Web.Domain/Services/Public/LoginService.cs +++ b/src/WMS.Web.Domain/Services/Public/LoginService.cs @@ -357,14 +357,15 @@ namespace WMS.Web.Domain.Services.Public /// /// 鍒锋柊token /// - /// + /// /// /// - public async Task> RefreshTokenNew(string Token, string RefreshToken) + public async Task> RefreshTokenNew(string oldToken, string RefreshToken) { //1.鏍规嵁鏃oken 鎵惧埌鐧诲綍瀵硅薄 - var loginInfo = _redisClientService.GetStringKey($"wms_login_{Token}"); + _logger.LogInformation($"鍒锋柊Token锛氬墠->" + $"wms_login_{oldToken}"); + var loginInfo = _redisClientService.GetStringKey($"wms_login_{oldToken}"); var reqData = new LoginAuthorizeRefreshTokenRequest(); reqData.ClientId = _soaOptions.AppId; reqData.ClientSecret = _soaOptions.AppSecret; @@ -376,7 +377,6 @@ namespace WMS.Web.Domain.Services.Public string result = _httpClientHelp.PostHttp(_soaOptions.Url_V3 + "/uc/authorize", reqData); var jObject = JsonObject.Parse(result); - _logger.LogInformation("鍒锋柊鍚庯細" + JsonConvert.SerializeObject(jObject)); LoginInDto r = new LoginInDto(); r.UserInfo = new UserInfoDto(); r.TokenInfo = new AccessTokenDto(); @@ -388,12 +388,16 @@ namespace WMS.Web.Domain.Services.Public r.UserInfo = loginInfo.UserInfo; r.SignedIn = true; - var token = await CreateToken(loginInfo.UserInfo, _loginDto, Token); + string NewToken = Guid.NewGuid().ToString("N"); + var token = await CreateToken(loginInfo.UserInfo, _loginDto, NewToken); r.TokenInfo = token; loginInfo.TokenInfo = token; //_logger.LogInformation("RefreshToken:鎴戝湪鍒锋柊鐧诲綍锛氬埛鏂板悗鐨勮繃鏈熸椂闂-1>" + token.Expired.ToString()); var ops_login_time = token.Expired.AddDays(1) - DateTime.Now;//鐢ㄤ簬姝e紡 _redisClientService.SetStringKey($"wms_login_{token.Token}", loginInfo, ops_login_time); + _logger.LogInformation($"鍒锋柊Token锛氬悗->" + $"wms_login_{token.Token}"); + //绉婚櫎鑰佺殑redis缂撳瓨 + _redisClientService.RemoveStringKey($"wms_login_{oldToken}"); //_logger.LogInformation("RefreshToken:鎴戝湪鍒锋柊鐧诲綍锛氬埛鏂板悗鐨勮繃鏈熸椂闂-灏忔椂->" + ops_login_time.Hours); return Result.ReSuccess(r); } diff --git a/src/WMS.Web.Repositories/DependencyInjection/AuthorizationTokenSecurityPolicy.cs b/src/WMS.Web.Repositories/DependencyInjection/AuthorizationTokenSecurityPolicy.cs index 0d1232f2..21b4f47e 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AuthorizationTokenSecurityPolicy.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AuthorizationTokenSecurityPolicy.cs @@ -100,11 +100,11 @@ namespace WMS.Web.Repositories.DependencyInjection if (!string.IsNullOrEmpty(logininfo.TokenInfo.Token) && logininfo.TokenInfo.Expired.AddMinutes(-10) <= DateTime.Now) { - TimeSpan _refreshThreshold = TimeSpan.FromMinutes(10); - var ttt = logininfo.TokenInfo.Expired - DateTime.Now - _refreshThreshold; - _logger.LogInformation("鐢ㄦ埛锛" + logininfo.UserInfo.Nickname + "锛泂hijianduibi锛" + ttt); + //TimeSpan _refreshThreshold = TimeSpan.FromMinutes(10); + //var ttt = logininfo.TokenInfo.Expired - DateTime.Now - _refreshThreshold; + //_logger.LogInformation("鐢ㄦ埛锛" + logininfo.UserInfo.Nickname + "锛泂hijianduibi锛" + ttt); - _logger.LogInformation("鐢ㄦ埛锛" + logininfo.UserInfo.Nickname + "锛涜繃鏈熸椂闂达細" + logininfo.TokenInfo.Expired); + //_logger.LogInformation("鐢ㄦ埛锛" + logininfo.UserInfo.Nickname + "锛涜繃鏈熸椂闂达細" + logininfo.TokenInfo.Expired); var refreshtokeninfo = RefreshToken(logininfo.TokenInfo.Token, logininfo.TokenInfo.RefreshToken, loginService); var info = _redisClientService.GetStringKey($"wms_login_{token}"); //_logger.LogInformation("RefreshToken:鎴戝湪鍒锋柊鐧诲綍--瀹屾垚锛" + info.UserInfo.Nickname);