调整 token自动刷新接口,解决token 无法自动刷新的问题
| | |
| | | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <_PublishTargetUrl>D:\网站发布\智云MESWMS\API</_PublishTargetUrl> |
| | | <History>True|2026-04-27T02:18:33.7985393Z;True|2026-04-27T10:08:12.8438152+08:00;True|2026-04-27T09:59:55.6118412+08:00;False|2026-04-27T09:58:35.5433131+08:00;True|2026-04-22T13:46:35.7999639+08:00;True|2026-04-22T13:37:33.3595562+08:00;False|2026-04-22T13:36:44.6163941+08:00;True|2026-04-20T17:23:12.3696160+08:00;True|2026-04-20T17:11:49.7671685+08:00;True|2026-04-20T17:01:26.9990531+08:00;True|2026-04-20T16:54:12.4433947+08:00;True|2026-04-20T16:46:57.6462699+08:00;True|2026-04-20T16:42:57.8307232+08:00;True|2026-04-20T16:28:39.7476167+08:00;True|2026-04-20T16:21:44.4281083+08:00;True|2026-04-20T15:54:54.0650372+08:00;False|2026-04-20T15:53:16.9752154+08:00;True|2026-04-20T09:38:00.7302296+08:00;False|2026-04-20T09:35:50.0193777+08:00;True|2026-04-16T13:47:52.4189071+08:00;True|2026-04-16T12:55:27.8047391+08:00;True|2026-04-15T15:25:13.5585076+08:00;True|2026-04-15T15:18:40.0113998+08:00;True|2026-04-15T13:40:25.2393656+08:00;False|2026-04-15T13:39:38.6236889+08:00;True|2026-04-14T14:31:30.6734754+08:00;False|2026-04-14T14:30:41.4516757+08:00;True|2026-04-13T16:44:08.4642937+08:00;True|2026-04-13T16:36:02.3077110+08:00;True|2026-04-13T14:59:21.0103174+08:00;True|2026-04-13T14:39:45.1257225+08:00;True|2026-04-13T14:33:54.7926295+08:00;True|2026-04-13T14:28:29.8919092+08:00;True|2026-04-13T14:23:44.7319904+08:00;True|2026-04-13T14:19:18.5894161+08:00;True|2026-04-13T14:13:07.6590290+08:00;True|2026-04-13T14:08:38.6545470+08:00;True|2026-04-13T13:42:48.7331271+08:00;True|2026-04-13T13:28:28.6092259+08:00;True|2026-04-13T13:22:20.9710518+08:00;False|2026-04-13T13:21:10.4412531+08:00;True|2026-04-10T12:36:37.6936108+08:00;False|2026-04-10T12:35:40.0121010+08:00;True|2026-04-09T16:54:43.8820523+08:00;True|2026-04-09T16:45:33.9913393+08:00;True|2026-04-09T16:05:37.9135976+08:00;True|2026-04-09T15:59:59.0415690+08:00;True|2026-04-09T14:40:06.6317662+08:00;True|2026-04-09T14:33:57.7268880+08:00;True|2026-04-09T14:29:06.9748272+08:00;True|2026-04-09T14:15:35.2357549+08:00;True|2026-04-09T13:55:15.7398283+08:00;True|2026-04-09T10:49:39.1474349+08:00;False|2026-04-09T10:48:56.4483129+08:00;True|2026-04-08T15:52:56.0654175+08:00;True|2026-04-08T15:51:48.5362330+08:00;True|2026-04-08T15:38:55.9430240+08:00;True|2026-04-08T14:28:05.8170952+08:00;True|2026-04-08T10:04:26.1290532+08:00;True|2026-04-08T09:54:42.7091796+08:00;True|2026-04-08T09:47:39.4265409+08:00;True|2026-04-08T09:31:33.9940810+08:00;True|2026-04-08T09:25:48.8335042+08:00;True|2026-04-08T09:18:49.2340416+08:00;True|2026-04-08T09:05:38.1946058+08:00;True|2026-04-08T08:51:42.9648664+08:00;False|2026-04-08T08:50:29.4049907+08:00;True|2026-04-07T16:38:07.0366622+08:00;True|2026-04-07T16:30:02.5849908+08:00;True|2026-04-07T10:34:01.7729330+08:00;True|2026-04-07T09:48:28.6594815+08:00;True|2026-04-07T08:27:08.5467426+08:00;</History> |
| | | <History>True|2026-04-27T07:09:44.0897608Z;True|2026-04-27T14:54:06.6458560+08:00;True|2026-04-27T14:44:18.2209820+08:00;True|2026-04-27T14:13:14.4765480+08:00;True|2026-04-27T14:04:25.5419561+08:00;True|2026-04-27T13:49:53.0044534+08:00;True|2026-04-27T13:16:28.0509184+08:00;True|2026-04-27T13:06:51.0405801+08:00;True|2026-04-27T12:49:54.6907285+08:00;True|2026-04-27T10:18:33.7985393+08:00;True|2026-04-27T10:08:12.8438152+08:00;True|2026-04-27T09:59:55.6118412+08:00;False|2026-04-27T09:58:35.5433131+08:00;True|2026-04-22T13:46:35.7999639+08:00;True|2026-04-22T13:37:33.3595562+08:00;False|2026-04-22T13:36:44.6163941+08:00;True|2026-04-20T17:23:12.3696160+08:00;True|2026-04-20T17:11:49.7671685+08:00;True|2026-04-20T17:01:26.9990531+08:00;True|2026-04-20T16:54:12.4433947+08:00;True|2026-04-20T16:46:57.6462699+08:00;True|2026-04-20T16:42:57.8307232+08:00;True|2026-04-20T16:28:39.7476167+08:00;True|2026-04-20T16:21:44.4281083+08:00;True|2026-04-20T15:54:54.0650372+08:00;False|2026-04-20T15:53:16.9752154+08:00;True|2026-04-20T09:38:00.7302296+08:00;False|2026-04-20T09:35:50.0193777+08:00;True|2026-04-16T13:47:52.4189071+08:00;True|2026-04-16T12:55:27.8047391+08:00;True|2026-04-15T15:25:13.5585076+08:00;True|2026-04-15T15:18:40.0113998+08:00;True|2026-04-15T13:40:25.2393656+08:00;False|2026-04-15T13:39:38.6236889+08:00;True|2026-04-14T14:31:30.6734754+08:00;False|2026-04-14T14:30:41.4516757+08:00;True|2026-04-13T16:44:08.4642937+08:00;True|2026-04-13T16:36:02.3077110+08:00;True|2026-04-13T14:59:21.0103174+08:00;True|2026-04-13T14:39:45.1257225+08:00;True|2026-04-13T14:33:54.7926295+08:00;True|2026-04-13T14:28:29.8919092+08:00;True|2026-04-13T14:23:44.7319904+08:00;True|2026-04-13T14:19:18.5894161+08:00;True|2026-04-13T14:13:07.6590290+08:00;True|2026-04-13T14:08:38.6545470+08:00;True|2026-04-13T13:42:48.7331271+08:00;True|2026-04-13T13:28:28.6092259+08:00;True|2026-04-13T13:22:20.9710518+08:00;False|2026-04-13T13:21:10.4412531+08:00;True|2026-04-10T12:36:37.6936108+08:00;False|2026-04-10T12:35:40.0121010+08:00;True|2026-04-09T16:54:43.8820523+08:00;True|2026-04-09T16:45:33.9913393+08:00;True|2026-04-09T16:05:37.9135976+08:00;True|2026-04-09T15:59:59.0415690+08:00;True|2026-04-09T14:40:06.6317662+08:00;True|2026-04-09T14:33:57.7268880+08:00;True|2026-04-09T14:29:06.9748272+08:00;True|2026-04-09T14:15:35.2357549+08:00;True|2026-04-09T13:55:15.7398283+08:00;True|2026-04-09T10:49:39.1474349+08:00;False|2026-04-09T10:48:56.4483129+08:00;True|2026-04-08T15:52:56.0654175+08:00;True|2026-04-08T15:51:48.5362330+08:00;True|2026-04-08T15:38:55.9430240+08:00;True|2026-04-08T14:28:05.8170952+08:00;True|2026-04-08T10:04:26.1290532+08:00;True|2026-04-08T09:54:42.7091796+08:00;True|2026-04-08T09:47:39.4265409+08:00;True|2026-04-08T09:31:33.9940810+08:00;True|2026-04-08T09:25:48.8335042+08:00;True|2026-04-08T09:18:49.2340416+08:00;True|2026-04-08T09:05:38.1946058+08:00;True|2026-04-08T08:51:42.9648664+08:00;False|2026-04-08T08:50:29.4049907+08:00;True|2026-04-07T16:38:07.0366622+08:00;True|2026-04-07T16:30:02.5849908+08:00;True|2026-04-07T10:34:01.7729330+08:00;True|2026-04-07T09:48:28.6594815+08:00;True|2026-04-07T08:27:08.5467426+08:00;</History> |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <File Include="apiapp.json"> |
| | |
| | | <publishTime>11/24/2014 19:18:48</publishTime> |
| | | </File> |
| | | <File Include="bin/WebAPI.dll"> |
| | | <publishTime>04/27/2026 10:18:16</publishTime> |
| | | <publishTime>04/27/2026 15:09:24</publishTime> |
| | | </File> |
| | | <File Include="bin/WebAPI.pdb"> |
| | | <publishTime>04/27/2026 10:18:16</publishTime> |
| | | <publishTime>04/27/2026 15:09:24</publishTime> |
| | | </File> |
| | | <File Include="bin/WebAPI.XmlSerializers.dll"> |
| | | <publishTime>04/27/2026 10:18:29</publishTime> |
| | | <publishTime>04/27/2026 15:09:38</publishTime> |
| | | </File> |
| | | <File Include="bin/WebGrease.dll"> |
| | | <publishTime>07/18/2013 01:03:52</publishTime> |
| | |
| | | using System.Web.Http; |
| | | using System.Web.Http.Controllers; |
| | | using System.Web.Http.Filters; |
| | | using WebAPI; |
| | | using WebAPI.Service; |
| | | |
| | | namespace project.Filter |
| | |
| | | } |
| | | var currentTs = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; |
| | | var diff = Math.Abs(currentTs - ts); |
| | | |
| | | if (diff > 300) // 300秒 = 5分钟 |
| | | { |
| | | actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.BadRequest, |
| | |
| | | } |
| | | } |
| | | var signStr = rawData + "×tamp=" + timestamp + "&nonce=" + nonce + "&key=" + SecretKey; |
| | | |
| | | var serverSign = ComputeHmacSha256(signStr, SecretKey); |
| | | |
| | | |
| | | |
| | | if (serverSign != clientSign.ToUpper()) |
| | | { |
| | | actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.Unauthorized, |
| | |
| | | if (response.IsSuccessStatusCode && response.Content != null) |
| | | { |
| | | // 3. 获取旧 token |
| | | var oldToken = request.Headers.GetValues("token")?.FirstOrDefault(); |
| | | var oldToken = request.Headers.GetValues("authorization")?.FirstOrDefault(); |
| | | if (string.IsNullOrEmpty(oldToken)) |
| | | return response; |
| | | if (oldToken.StartsWith("Bearer ")) |
| | | { |
| | | oldToken = oldToken.Replace("Bearer ", "").Trim(); |
| | | } |
| | | WebAPI.LogService.Write($"oldToken: {oldToken}"); |
| | | |
| | | // 4. 判断是否需要续期 |
| | | bool needRenew = JWTHelper.TokenAboutToExpire(oldToken); |
| | |
| | | "application/json"); |
| | | } |
| | | } |
| | | catch |
| | | catch(Exception e) |
| | | { |
| | | |
| | | WebAPI.LogService.Write(e); |
| | | return response; |
| | | } |
| | | |
| | | return response; |
| | |
| | | issuer: "zjzyms", |
| | | audience: HCampanyName, |
| | | claims: claims, |
| | | expires: DateTime.UtcNow.AddHours(2), // 两小时过期时间 |
| | | expires: DateTime.UtcNow.AddMinutes(120), // 两小时过期时间 |
| | | signingCredentials: credentials |
| | | ); |
| | | |