Repository navigation
fix: Issues 960, 964, 966, 967, and 968. - #974
Open
jonathanp-okta wants to merge 8 commits into
Open
jonathanp-okta wants to merge 8 commits into
jonathanp-okta wants to merge 8 commits into
Conversation
jonathanp-okta
had a problem deploying
to
preview
October 26, 2026 20:35 — with
GitHub Actions
Failure
jonathanp-okta
had a problem deploying
to
preview
October 26, 2026 21:03 — with
GitHub Actions
Failure
jonathanp-okta
had a problem deploying
to
preview
October 26, 2026 21:05 — with
GitHub Actions
Failure
jonathanp-okta
had a problem deploying
to
preview
October 26, 2026 21:24 — with
GitHub Actions
Failure
|
Preview URL https://next-jwt-lkxrukac2-okta.vercel.app |
This was
linked to
issues
Oct 27, 2026
…t and update related tests.
jonathanp-okta
force-pushed
the
fix/issues-960-964-966-967-968
branch
from
October 27, 2026 16:46
0e3e0e3 to
201bea6
Compare
|
Preview URL https://next-jwt-3rsap4kul-okta.vercel.app |
|
Preview URL https://next-jwt-9n25henm7-okta.vercel.app |
jonathanp-okta
marked this pull request as ready for review
October 27, 2026 17:27
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✏️ Changes
Fixes #960, #964, #966, #967, #968.
viteto^8.3.5,vitestand@vitest/coverage-istanbulto5.0.5(exact pin) and@types/nodeto 24.npm cinow installs cleanly without--legacy-peer-deps, and the vite/vitest audit entries are gone.aws-jwt-verifynow hases256,es384,es512andeddsaset totrueinlibraries-next.json(per the upstream v5.0.0 release notes). The library card and the algorithm filters both show it.BEGIN EC PRIVATE KEYkeys now work for ES256, ES384 and ES512 through a new SEC1 → PKCS#8 converter (sec1-ec-private-key.service.ts). The output is byte-identical toopenssl pkcs8 -topk8, and tokens signed with these keys verify against the OpenSSL public key. The Encoder no longer swallows the real error as "Private key must not be empty".archived: trueflag, shown as a warning note on the card. Checked against the GitHub API for all 107 repos: 9 are archived (the issue's 6, plusgbrlsnchs/jwt,emarref/jwtandiain-logan/jwt).generate-library-data.tsnow keeps the flag current.kid, and the format converts to and from PEM and JWK. Tokens are never sent to the JWKS host. The Encoder falls back to PEM if it would otherwise inherit "JWKS" as its private-key format after the Decoder used it.node-forgegoes from^1.3.1to^1.4.2, which patches the ASN.1 findings Semgrep flagged on the new SEC1 converter (asn1.fromDeruncontrolled recursion, and theasn1.derToOidinteger overflow, CVE-2025-66030).Rebased onto
masterafter the Node 24 upgrade (#975), so this PR no longer touches the Node version.🔮 Type of Change
Bug fixes and small features in the Decoder, Encoder and Libraries pages, plus dev tooling and a dependency security bump. No public API changes.
🔗 References
Closes Bump vite/vitest to a patched major version (fixes high-severity Dependabot alert) — requires @types/node bump too #960, Fix outdated algorithm support flags for aws-jwt-verify (Node.js library listing) #964, Support SEC1-format EC private keys (BEGIN EC PRIVATE KEY) for ES256/384/512 #966, Remove/flag archived libraries in the current library directory (libraries-next.json) #967, Support manually-supplied JWKS URI or JWKS JSON for signature verification #968
aws-jwt-verify v5.0.0 release notes
GHSA-554w-wpv2-vw27, GHSA-65ch-62r8-g69g (node-forge)
I added at least one link explaining why this change is needed.
📖 Documentation
No documentation update needed. New UI strings were added to the English and Japanese dictionaries (
homeandlibraries).🎯 Testing
On Node 24.15.0, from a clean
node_modules:npm ci: succeeds without--legacy-peer-deps.npm run typecheck: clean.npm run lint: clean.npx vitest run: 14 files, 171 tests, all passing (includes new tests for SEC1 conversion, JWKS, the decoder JWKS store, the encoder and library support values).npm run build: succeeds.decoder-jwks.spec.ts).npm audit:node-forgeno longer listed.Gaps a reviewer should know about:
The Japanese strings for Remove/flag archived libraries in the current library directory (libraries-next.json) #967 and Support manually-supplied JWKS URI or JWKS JSON for signature verification #968 are machine-assisted translations and need a native-speaker check.
Not tested: Safari, real mobile devices, OneTrust and analytics (disabled in dev), and a live public JWKS URI (a local server was used).
Some failures reproduce on a clean
mastercheckout and are not from this PR: a missingrel=noopeneron the okta.com privacy link, the key box clearing after an Encoder tab round trip, and the tab order.One Playwright test (
debugger.spec.ts"single jwt piece") failed once under parallel load and passed on rerun and in isolation. Treated as flaky.I described how I tested these changes.
This change has test coverage, or I explained why it does not.
🚀 Deployment
Deployable at any time. No new environment variables, infrastructure or migrations. The JWKS URI feature makes a request to the URI the user provides; the token itself is never sent.
🔥 Rollback
Revert this PR to restore the previous behavior. Nothing is persisted server-side, and the change only affects the client UI, the library data file and dev tooling. Reverting the
vite/vitestbump returns the install to needing--legacy-peer-deps.