fix(auth): harden OIDC browser transactions

This commit is contained in:
2026-08-17 06:18:49 +02:00
parent 4fe51cbeb1
commit 8573500121
9 changed files with 384 additions and 59 deletions
+9 -1
View File
@@ -70,7 +70,14 @@ const revision = "a".repeat(64);
const validLocalUser = { enabled: true, authRevision: 7, roles: ["admin"] as const };
function oidcInput(nonce: string, codeVerifier: string) {
return { nonce, codeVerifier, returnTo: "/" as const, authConfigRevision: revision, issuer: "https://issuer.example.test" };
return {
nonce,
codeVerifier,
returnTo: "/" as const,
authConfigRevision: revision,
issuer: "https://issuer.example.test",
browserTransactionDigest: "b".repeat(64),
};
}
afterEach(() => {
@@ -285,6 +292,7 @@ describe("file-backed auth session store", () => {
.resolves.toMatchObject({
nonce: "n".repeat(43), codeVerifier: "v".repeat(43), returnTo: "/",
authConfigRevision: revision, issuer: "https://issuer.example.test",
browserTransactionDigest: "b".repeat(64),
});
await expect(store.consumeOidcState(created.state)).resolves.toBeUndefined();