Skip to content
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

feat(backend,nextjs): Machine-to-Machine #4875

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

Conversation

jakobevangelista
Copy link

@jakobevangelista jakobevangelista commented Jan 11, 2025

Description

Adds machine to machine. Dx guide here

The spicy changes are in /backend/src/tokens/request.ts and /nextjs/src/server/clerkMiddleware.ts.

The changes to authenticate request adds the MachineAuthenticated and MachineUnauthenticated objects and the logic required.

In nextjs middleware specifically, I check the JWT sub claim in middleware and if it's prefixed with mch_ , pass entity: machine to authenticateRequest. There's a few alternatives but that's the meat and potatoes of this. Discussion here

The changes in the other fullstack frameworks are just to satisfy ts. The primary changes are for /backend and /nextjs.

The backend sdk helper to generate tokens is prefixed with __internal_ because we wanted to initially roll it out internally.

Also unsure about using non null assertions lol

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 Jan 11, 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 Jan 14, 2025 8:41pm

Copy link

changeset-bot bot commented Jan 11, 2025

🦋 Changeset detected

Latest commit: ea44d14

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

This PR includes changesets to release 10 packages
Name Type
@clerk/backend Minor
@clerk/nextjs Minor
@clerk/astro Patch
@clerk/express Patch
@clerk/fastify Patch
@clerk/nuxt Patch
@clerk/react-router Patch
@clerk/remix Patch
@clerk/tanstack-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

@jakobevangelista jakobevangelista changed the title feat: Machine-to-Machine feat(backend,nextjs): Machine-to-Machine Jan 11, 2025
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.

2 participants