Skip to content

Commit 4af9169

Browse files
committed
fix: session tokens are working now
[ci skip]
1 parent 4af0eee commit 4af9169

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/sessions/utils.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ async function createSessionToken(
1818
key: Key,
1919
expiry?: number,
2020
): Promise<SessionToken> {
21-
const expiry_ = expiry != null ? Date.now() / 1000 + expiry : undefined
21+
const expiry_ = expiry != null ? Math.round(Date.now() / 1000) + expiry : undefined
2222
const token = Token.fromPayload({
2323
...payload,
2424
exp: expiry_,
@@ -40,9 +40,11 @@ async function verifySessionToken(
4040
try {
4141
const signedTokenEncoded = JSON.parse(token);
4242
const parsedToken = Token.fromEncoded(signedTokenEncoded);
43-
parsedToken.verifyWithKey(key);
43+
if (!parsedToken.verifyWithKey(key)) return;
44+
const expiry = parsedToken.payload.exp;
45+
if (expiry != null && expiry < Math.round(Date.now() / 1000) ) return;
4446
return parsedToken.payload;
45-
} catch {
47+
} catch (e) {
4648
return;
4749
}
4850
}

tests/sessions/SessionManager.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ describe('SessionManager', () => {
143143
logger,
144144
});
145145
const token = await sessionManager1.createToken();
146+
expect(await sessionManager1.verifyToken(token)).toBe(true);
146147
await sessionManager1.stop();
147148
const sessionManager2 = await SessionManager.createSessionManager({
148149
db,

0 commit comments

Comments
 (0)