Bifrost/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens bad2117ea8 Heimdall sign-in: the attempt is a cookie, and a code the browser presents is redeemed at Heimdall
Start puts a per-attempt nonce in the returnTo it sends Heimdall and keeps the attempt (provider,
member flag, local return path, expiry) in a Data Protection cookie named for that nonce. Heimdall's
completion page sends the browser to /auth/heimdall/complete with a code in the URL fragment; the
page posts it back, Bifrost redeems it at Heimdall, requires the redeemed returnTo to name the
cookie's nonce, verifies the access token for the redeemed account, and signs that browser in.

Deleted: the callback route, the wait route, the server-side attempt store, the pending state and
the backend_callback handoff. Added: LocalReturnPath for return targets, Heimdall:AppSecret sent as
x-heimdall-app-secret (member starts are refused without it), a short timeout on the key fetch, and
a key lookup that does not hold the fetch gate for cached keys. Refusals at the completion route all
answer one redirect and log a fixed reason.

Tests are rewritten against a fake Heimdall with start and redeem routes. Not compile-checked by this
commit alone; later commits record the verification.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:40:47 +02:00
..
Bifrost.Web.Tests Heimdall sign-in: the attempt is a cookie, and a code the browser presents is redeemed at Heimdall 2026-10-11 04:40:47 +02:00
fixtures Watchdog notice reader: Idunn incidents become owner DMs through Bifrost's own journal 2026-09-30 21:15:18 +02:00
cultmesh-bridge-commands.test.mjs Bifrost pump: one verb, one path; refuse anything else with a failed receipt 2026-09-30 16:59:51 +02:00
fake-clock.mjs Watchdog notice reader: a future stamp is eligible now; no production clock seam 2026-10-01 02:19:01 +02:00
persona-discord-crossing-rust-smoke.test.mjs Bifrost suite: drop the hard-coded CARGO_TARGET_DIR override from the Rust fixture tests 2026-09-30 17:16:55 +02:00
persona-discord-delivery.test.mjs Bifrost suite: load @gamecult/cultcache-ts; skip Rust fixture tests with a stated reason 2026-09-30 17:16:39 +02:00
persona-discord-permit.test.mjs persona: align permit bodies with Rust wire tuples 2026-08-08 21:15:57 +01:00
persona-discord-rudp-cross-language.test.mjs Bifrost suite: drop the hard-coded CARGO_TARGET_DIR override from the Rust fixture tests 2026-09-30 17:16:55 +02:00
persona-feedback-cli.test.mjs Bifrost suite: load @gamecult/cultcache-ts; skip Rust fixture tests with a stated reason 2026-09-30 17:16:39 +02:00
persona-feedback-idunn-health.test.mjs Prove signed health transport identity 2026-07-22 02:53:44 +01:00
watchdog-notice.test.mjs Watchdog notice reader test: status reads the same fake clock as the runs 2026-10-01 02:25:13 +02:00