@clerk/edge
Deprecation warning
This package has been deprecated in favor of the isomorphic @clerk/backend
which is now used across all server-enabled Clerk packages. This package will not receive any future updates. It should not be used directly - please use as a reference only.
Overview
This package is a wrapper around Clerk core capabilities with added functionality and helpers aimed towards different edge and serverless platforms.
Getting Started
Installation
npm install @clerk/edge
Build
To build the package locally with the TypeScript compiler, run:
npm run build
Supported platforms
Currently supported environments/platforms:
Vercel Edge Functions
To use with Edge Functions:
import { withAuth } from '@clerk/edge/vercel-edge';
async function handler(req, event) {
}
export const middleware = withAuth(handler);
Supported methods:
withAuth
verifySessionToken
- Resources API through
ClerkAPI
Usage
Validate the Authorized Party of a session token
Clerk's JWT session token, contains the azp
claim, which equals the Origin of the request during token generation. You can provide the middlewares with a list of whitelisted origins to verify against, to protect your application of the subdomain cookie leaking attack.
Example implementation:
import { withAuth } from '@clerk/edge/vercel-edge';
const authorizedParties = ['http://localhost:3000', 'https://example.com'];
async function handler(req, event) {
}
export const middleware = withAuth(handler, { authorizedParties });
For further details and examples, please refer to our Documentation.
Support
You can get in touch with us in any of the following ways:
Contributing
We're open to all community contributions! If you'd like to contribute in any way, please read our contribution guidelines.
Security
@clerk/edge
follows good practices of security, but 100% security cannot be assured.
@clerk/edge
is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
License
This project is licensed under the MIT license.
See LICENSE for more information.