Skip to content

feat(backend): signal support for handshake nonce #5905

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

jacekradko
Copy link
Member

Description

Send query string param to signal support for handshake nonce flow from current version of @clerk/backend

Related: SDKI-979

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Copy link

vercel bot commented May 12, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
clerk-js-sandbox ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 15, 2025 6:01pm

Copy link

changeset-bot bot commented May 12, 2025

🦋 Changeset detected

Latest commit: ffb8c6f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
@clerk/backend Minor
@clerk/agent-toolkit Patch
@clerk/astro Patch
@clerk/express Patch
@clerk/fastify Patch
@clerk/nextjs Patch
@clerk/nuxt Patch
@clerk/react-router Patch
@clerk/remix Patch
@clerk/tanstack-react-start Patch
@clerk/testing Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jacekradko jacekradko requested a review from Copilot May 12, 2025 14:43
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for signaling the handshake nonce flow by including a query parameter.

  • In handshake.ts, the query parameter SupportsHandshakeNonce is appended to the URL.
  • In handshake.test.ts, corresponding tests ensure the parameter is correctly set in both regular and development modes.
  • In constants.ts, a new constant for SupportsHandshakeNonce is added to support the new query parameter.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
packages/backend/src/tokens/handshake.ts Appends a new query parameter for handshake nonce support.
packages/backend/src/tokens/tests/handshake.test.ts Adds tests to validate the presence of the new query parameter.
packages/backend/src/constants.ts Introduces the SupportsHandshakeNonce constant to hold the parameter key.

@jfoshee
Copy link

jfoshee commented May 12, 2025

LGTM. So to be doubly clear: this indicates "nonce support", but FAPI still has the option to return 'optimized' payload in initial response, right?
I'll work on API definition update and FAPI implementation.

@jacekradko
Copy link
Member Author

@jfoshee Yeah, this is just to signal to the API that it COULD send a handshake nonce

@jacekradko jacekradko requested a review from a team May 12, 2025 20:27
Copy link

pkg-pr-new bot commented May 15, 2025

Open in StackBlitz

@clerk/agent-toolkit

npm i https://pkg.pr.new/@clerk/agent-toolkit@5905

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@5905

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@5905

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@5905

@clerk/dev-cli

npm i https://pkg.pr.new/@clerk/dev-cli@5905

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@5905

@clerk/elements

npm i https://pkg.pr.new/@clerk/elements@5905

@clerk/clerk-expo

npm i https://pkg.pr.new/@clerk/clerk-expo@5905

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@5905

@clerk/express

npm i https://pkg.pr.new/@clerk/express@5905

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@5905

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@5905

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@5905

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@5905

@clerk/clerk-react

npm i https://pkg.pr.new/@clerk/clerk-react@5905

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@5905

@clerk/remix

npm i https://pkg.pr.new/@clerk/remix@5905

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@5905

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@5905

@clerk/themes

npm i https://pkg.pr.new/@clerk/themes@5905

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@5905

@clerk/types

npm i https://pkg.pr.new/@clerk/types@5905

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@5905

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@5905

commit: ffb8c6f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants