Skip to content

Commit 3e0d9fc

Browse files
Fix: Use base32 for IDs (#262)
Co-authored-by: AdrianGonz97 <[email protected]>
1 parent 2e3b890 commit 3e0d9fc

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

.changeset/wicked-pots-exist.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'sv': patch
3+
---
4+
5+
fix: use base32 IDs in lucia add-on

packages/adders/lucia/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ export default defineAdder({
212212
imports.addNamespace(ast, '$lib/server/db/schema', 'table');
213213
imports.addNamed(ast, '$lib/server/db', { db: 'db' });
214214
imports.addNamed(ast, '@oslojs/encoding', {
215-
encodeBase64url: 'encodeBase64url',
215+
encodeBase32LowerCase: 'encodeBase32LowerCase',
216216
encodeHexLowerCase: 'encodeHexLowerCase'
217217
});
218218
imports.addNamed(ast, '@oslojs/crypto/sha2', { sha256: 'sha256' });
@@ -233,8 +233,8 @@ export default defineAdder({
233233
if (!ms.original.includes('export function generateSessionToken')) {
234234
const generateSessionToken = dedent`
235235
export function generateSessionToken() {
236-
const bytes = crypto.getRandomValues(new Uint8Array(18));
237-
const token = encodeBase64url(bytes);
236+
const bytes = crypto.getRandomValues(new Uint8Array(20));
237+
const token = encodeBase32LowerCase(bytes);
238238
return token;
239239
}`;
240240
ms.append(`\n\n${generateSessionToken}`);
@@ -390,7 +390,7 @@ export default defineAdder({
390390
const [ts] = utils.createPrinter(typescript);
391391
return dedent`
392392
import { hash, verify } from '@node-rs/argon2';
393-
import { encodeBase64url } from '@oslojs/encoding';
393+
import { encodeBase32LowerCase } from '@oslojs/encoding';
394394
import { fail, redirect } from '@sveltejs/kit';
395395
import { eq } from 'drizzle-orm';
396396
import * as auth from '$lib/server/auth';
@@ -480,7 +480,7 @@ export default defineAdder({
480480
function generateUserId() {
481481
// ID with 120 bits of entropy, or about the same as UUID v4.
482482
const bytes = crypto.getRandomValues(new Uint8Array(15));
483-
const id = encodeBase64url(bytes);
483+
const id = encodeBase32LowerCase(bytes);
484484
return id;
485485
}
486486

0 commit comments

Comments
 (0)