fix: 仅从 Query 获取 access_token/refresh_token,简化 OnMessageReceived 逻辑

- 修改文件:Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
- 将 JwtBearerEvents.OnMessageReceived 的上下文参数名改为 messageContext,统一变量名。
- 简化 Token 获取逻辑:只从 request.Query 中读取 access_token 与 refresh_token,移除从 Cookies(Token)和请求头(refresh_token)读取的分支。
This commit is contained in:
chenchun
2025-12-11 17:41:38 +08:00
parent 571df74c43
commit 0d2f2cb826

View File

@@ -280,22 +280,14 @@ namespace Yi.Abp.Web
}; };
options.Events = new JwtBearerEvents options.Events = new JwtBearerEvents
{ {
OnMessageReceived = context => OnMessageReceived = messageContext =>
{ {
//优先Query中获取再去cookies中获取 //优先Query中获取
var accessToken = context.Request.Query["access_token"]; var accessToken = messageContext.Request.Query["access_token"];
if (!string.IsNullOrEmpty(accessToken)) 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; return Task.CompletedTask;
} }
}; };
@@ -313,21 +305,13 @@ namespace Yi.Abp.Web
}; };
options.Events = new JwtBearerEvents options.Events = new JwtBearerEvents
{ {
OnMessageReceived = context => OnMessageReceived = messageContext =>
{ {
var refresh_token = context.Request.Headers["refresh_token"]; var refreshToken = messageContext.Request.Query["refresh_token"];
if (!string.IsNullOrEmpty(refresh_token))
{
context.Token = refresh_token;
return Task.CompletedTask;
}
var refreshToken = context.Request.Query["refresh_token"];
if (!string.IsNullOrEmpty(refreshToken)) if (!string.IsNullOrEmpty(refreshToken))
{ {
context.Token = refreshToken; messageContext.Token = refreshToken;
} }
return Task.CompletedTask; return Task.CompletedTask;
} }
}; };