CI: e2e auth full failing: jose generateJWT 'payload must be an instance of Uint8Array' (jwt.ts:66)

Offen
#5,092 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
github-actions, node.js, typescript

Rechercherichtung

Start with the failing tests in test/emailChangeConfirmation.e2e.full.test.ts and test/auth-api.e2e.full.test.ts, and with the JWT signing code at jwt.ts:66, which calls jose's SignJWT. Check how the secret reaches that call in the e2e environment, and run the workflow .github/workflows/e2e-webapp-auth-full.yml locally or in CI. Done means both failing tests pass and the workflow is green on main; the fix may be encoding the secret in the same realm or upgrading jose.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

What fails

Workflow .github/workflows/e2e-webapp-auth-full.yml fails on main in job 🛡️ E2E Auth Tests (full).

Error

FAIL test/emailChangeConfirmation.e2e.full.test.ts > redirects off the token URL and confirms only when the rendered form is submitted
TypeError: payload must be an instance of Uint8Array
 ❯ new FlattenedSign node_modules/.pnpm/[email protected]/node_modules/jose/dist/node/esm/jws/flattened/sign.js:14:19
 ❯ new CompactSign node_modules/.pnpm/[email protected]/node_modules/jose/dist/node/esm/jws/compact/sign.js:5:27
 ❯ SignJWT.sign node_modules/.pnpm/[email protected]/node_modules/jose/dist/node/esm/jwt/sign.js:12:21
FAIL test/auth-api.e2e.full.test.ts > API > Query dashboards — GET /api/v1/query/dashboards (sanity) > JWT read:query: auth passes
AssertionError: expected 403 not to be 403
 Test Files  2 failed | 7 passed (9)
      Tests  4 failed | 254 passed (258)

When it started

Likely cause

[email protected] receives a non-Uint8Array (cross-realm/TextEncoder) secret in the test env.

Suggested fix

Pass the secret via new TextEncoder().encode in the same realm, or bump jose.

Vorherrschende Sprache
TypeScript
Sterne
16.5k
Forks
1.5k
Ø Merge
1 T. 15 Std.
Gemergte PRs (30 T.)
17

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus triggerdotdev/trigger.dev

Alle Issues in triggerdotdev/trigger.dev

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.