diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs index 57e3db0d..af4af4dc 100644 --- a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs +++ b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs @@ -280,14 +280,22 @@ namespace Yi.Abp.Web }; options.Events = new JwtBearerEvents { - OnMessageReceived = messageContext => + OnMessageReceived = context => { - //优先Query中获取 - var accessToken = messageContext.Request.Query["access_token"]; + //优先Query中获取,再去cookies中获取 + var accessToken = context.Request.Query["access_token"]; if (!string.IsNullOrEmpty(accessToken)) { - messageContext.Token = accessToken; + context.Token = accessToken; } + else + { + if (context.Request.Cookies.TryGetValue("Token", out var cookiesToken)) + { + context.Token = cookiesToken; + } + } + return Task.CompletedTask; } }; @@ -305,13 +313,21 @@ namespace Yi.Abp.Web }; options.Events = new JwtBearerEvents { - OnMessageReceived = messageContext => + OnMessageReceived = context => { - var refreshToken = messageContext.Request.Query["refresh_token"]; + 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"]; if (!string.IsNullOrEmpty(refreshToken)) { - messageContext.Token = refreshToken; + context.Token = refreshToken; } + return Task.CompletedTask; } };