Skip to content

Commit 6132ff8

Browse files
authored
Use the temporary auth token. (#195)
1 parent 6bb9d7a commit 6132ff8

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

packages/sdk/src/websocket_decompress_adapter.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ export class WebsocketDecompressAdapter {
9090
WS = WebSocket;
9191
}
9292

93+
// We swap our original token to a shorter-lived token
94+
// to avoid sending the original via query params.
95+
let temporaryAuthToken: string | undefined = undefined;
9396
if (authToken) {
9497
headers.set('Authorization', `Bearer ${authToken}`);
9598
const tokenUrl = new URL('v1/identity/websocket-token', url);
@@ -98,7 +101,7 @@ export class WebsocketDecompressAdapter {
98101
const response = await fetch(tokenUrl, { method: 'POST', headers });
99102
if (response.ok) {
100103
const { token } = await response.json();
101-
url.searchParams.set('token', token);
104+
temporaryAuthToken = token;
102105
} else {
103106
return Promise.reject(
104107
new Error(`Failed to verify token: ${response.statusText}`)
@@ -107,6 +110,9 @@ export class WebsocketDecompressAdapter {
107110
}
108111

109112
const databaseUrl = new URL(`v1/database/${nameOrAddress}/subscribe`, url);
113+
if (temporaryAuthToken) {
114+
databaseUrl.searchParams.set('token', temporaryAuthToken);
115+
}
110116
databaseUrl.searchParams.set(
111117
'compression',
112118
compression === 'gzip' ? 'Gzip' : 'None'

0 commit comments

Comments
 (0)