Prioritize access_token in searchparam over access_token in the cookies when using "strict" mode for websocket authentication (#22888)

* changes

* prioritize query token if present

* prioritize cookie over handshake

* Create moody-bees-pay.md

* Update moody-bees-pay.md

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
This commit is contained in:
Aprilia
2024-07-03 18:26:33 +05:30
committed by GitHub
parent 74992cabfa
commit cbb0c4f541
2 changed files with 9 additions and 4 deletions

View File

@@ -0,0 +1,5 @@
---
"@directus/api": patch
---
Prioritized access_token in query over cookies for websocket authentication

View File

@@ -137,14 +137,14 @@ export default abstract class SocketController {
const context: UpgradeContext = { request, socket, head };
const sessionCookieName = env['SESSION_COOKIE_NAME'] as string;
if (cookies[sessionCookieName]) {
const token = cookies[sessionCookieName] as string;
if (this.authentication.mode === 'strict' || query['access_token']) {
const token = query['access_token'] as string;
await this.handleTokenUpgrade(context, token);
return;
}
if (this.authentication.mode === 'strict') {
const token = query['access_token'] as string;
if (cookies[sessionCookieName]) {
const token = cookies[sessionCookieName] as string;
await this.handleTokenUpgrade(context, token);
return;
}