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:
@@ -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;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user