This package provides Clerk Backend API resources and low-level authentication utilities for JavaScript environments. It is mostly used as the base for other Clerk SDKs but it can be also used on its own.
Features
Built for V8 isolates (Cloudflare Workers, Vercel Edge Runtime, etc...).
Make it isomorphic to work across all modern JS runtimes.
Use options injection for all keys and settings.
Support multiple CLERK_SECRET_KEY for multiple instance REST access.
Align JWT key resolution algorithm across all environments (Function param > Environment variable > JWKS from API).
Tested automatically across different runtimes (Node, CF Workers, Vercel Edge middleware.)
Refactor the Rest Client API to return {data, errors} instead of throwing errors.
Export a generic verifyToken for Clerk JWTs verification.
Align AuthData interface for SSR.
Export CJS and ESM.
How to use
Works on Node.js >=18.17.0 (or later) or on any V8 Isolates runtimes (eg Cloudflare Workers).
Create Clerk SDK that includes an HTTP Rest client for the Backend API and session verification helpers. The clerk object contains the following APIs and methods:
import { createClerkClient } from'@clerk/backend';
const clerk = createClerkClient({ secretKey: '...' });
await clerk.users.getUser('user_...');
// Available APIs
clerk.allowlistIdentifiers;
clerk.clients;
clerk.emailAddresses;
clerk.emails;
clerk.invitations;
clerk.organizations;
clerk.phoneNumbers;
clerk.redirectUrls;
clerk.sessions;
clerk.signInTokens;
clerk.users;
// These functions should be used by framework-specific libraries, such as @clerk/nextjs or @clerk/remix.// Compute the authentication state given the request parameters.
clerk.authenticateRequest(options);
// Build debug payload of the request state.
clerk.debugRequestState(requestState);
Auth0 is a flexible, drop-in solution to add authentication and authorization services to your applications. It provides a wide range of features including social login, multi-factor authentication, and user management. Compared to @clerk/backend, Auth0 offers more extensive integrations and a broader set of features but can be more complex to set up.
Firebase Admin SDK allows you to integrate Firebase services into your server-side applications. It provides functionalities for user authentication, database management, and cloud messaging. Compared to @clerk/backend, Firebase Admin SDK offers a more comprehensive suite of backend services but may require more configuration and setup.
Passport is an authentication middleware for Node.js that supports a wide range of authentication strategies. It is highly modular and can be integrated with various authentication providers. Compared to @clerk/backend, Passport is more flexible and customizable but requires more effort to implement and manage different authentication strategies.
FAQs
Clerk Backend SDK - REST Client for Backend API & JWT verification utilities
The npm package @clerk/backend receives a total of 764,890 weekly downloads. As such, @clerk/backend popularity was classified as popular.
We found that @clerk/backend demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Ā It has 7 open source maintainers collaborating on the project.
Package last updated on 29 Aug 2024
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Socket found a Rust typosquat (finch-rust) that loads sha-rust to steal credentials, using impersonation and an unpinned dependency to auto-deliver updates.
A pair of typosquatted Go packages posing as Googleās UUID library quietly turn helper functions into encrypted exfiltration channels to a paste site, putting developer and CI data at risk.