From 0d2f2cb82678a8496bd93cd906a44d0cda6f7742 Mon Sep 17 00:00:00 2001 From: chenchun Date: Thu, 11 Dec 2025 17:41:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=85=E4=BB=8E=20Query=20=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=20access=5Ftoken/refresh=5Ftoken=EF=BC=8C=E7=AE=80?= =?UTF-8?q?=E5=8C=96=20OnMessageReceived=20=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改文件:Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs - 将 JwtBearerEvents.OnMessageReceived 的上下文参数名改为 messageContext,统一变量名。 - 简化 Token 获取逻辑:只从 request.Query 中读取 access_token 与 refresh_token,移除从 Cookies(Token)和请求头(refresh_token)读取的分支。 --- Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs | 30 +++++--------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs index af4af4dc..57e3db0d 100644 --- a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs +++ b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs @@ -280,22 +280,14 @@ namespace Yi.Abp.Web }; options.Events = new JwtBearerEvents { - OnMessageReceived = context => + OnMessageReceived = messageContext => { - //优先Query中获取,再去cookies中获取 - var accessToken = context.Request.Query["access_token"]; + //优先Query中获取 + var accessToken = messageContext.Request.Query["access_token"]; if (!string.IsNullOrEmpty(accessToken)) { - context.Token = accessToken; + messageContext.Token = accessToken; } - else - { - if (context.Request.Cookies.TryGetValue("Token", out var cookiesToken)) - { - context.Token = cookiesToken; - } - } - return Task.CompletedTask; } }; @@ -313,21 +305,13 @@ namespace Yi.Abp.Web }; options.Events = new JwtBearerEvents { - OnMessageReceived = context => + OnMessageReceived = messageContext => { - var refresh_token = context.Request.Headers["refresh_token"]; - if (!string.IsNullOrEmpty(refresh_token)) - { - context.Token = refresh_token; - return Task.CompletedTask; - } - - var refreshToken = context.Request.Query["refresh_token"]; + var refreshToken = messageContext.Request.Query["refresh_token"]; if (!string.IsNullOrEmpty(refreshToken)) { - context.Token = refreshToken; + messageContext.Token = refreshToken; } - return Task.CompletedTask; } };