Porter projects can opt out of legacy user-scoped JWT tokens. When this setting is enabled, any API request to the project that is authenticated with a user-scoped Porter JWT is rejected by the auth middleware. This is useful for hardening a project against long-lived personal tokens that may have been issued to individual users in the past. Project-scoped API tokens, WorkOS access tokens, and dashboard cookie sessions are unaffected, so admins, CI/CD pipelines, and the CLI continue to work normally.Documentation Index
Fetch the complete documentation index at: https://porter-docs-deprecate-user-jwt-tokens.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
What gets rejected
When the toggle is on, the following requests are blocked for the project:- Bearer tokens identified as user-scoped Porter JWTs (
sub_kind=user, notoken_idclaim).
- Project API tokens issued from the project settings.
- WorkOS access tokens used by the dashboard and SSO sessions.
- Cookie-based sessions in the Porter dashboard.
Enabling the setting
You must be a project Admin to change this setting.- Open the Porter dashboard and select the project you want to update.
- Navigate to Settings → General.
- Find the User JWT tokens section.
- Toggle Reject user-scoped JWT tokens on.
Toggling via the API
Admins can also toggle the setting via the Porter API. The endpoint is admin-scoped.reject_user_jwt_tokens field.
Migrating off user-scoped JWTs
Before enabling this setting, audit any automation or scripts that authenticate against the project and replace user-scoped JWTs with a project API token:- Have an Admin generate a project API token from project settings.
- Update CI/CD secrets, scripts, and integrations to use the new token.
- Verify the new token works against the project.
- Enable Reject user-scoped JWT tokens in Settings → General.

