Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt

Use this file to discover all available pages before exploring further.

Bring Your Own Auth (BYOA) is an enterprise feature. Contact us in Slack or at hello@dynamic.xyz to enable it.
If you already issue your own JWTs (e.g. from Auth0, Firebase Auth, Supabase, or your own backend), you can exchange that JWT for a Dynamic session. After sign-in, the user behaves like any other Dynamic user — with access to wallets, user management, and the rest of the SDK. For concepts and configuration, see Bring Your Own Auth.

Prerequisites

  • BYOA configured in your Dynamic dashboard (issuer, JWKS URL).
  • Dynamic client created and initialized (see the React Native quickstart).
  • Your backend issues a JWT with at least iss, sub, and exp claims.

Usage

Call signInWithExternalJwt on the Dynamic client’s external auth. Dynamic verifies the signature against your configured JWKS URL, validates the claims, and establishes a session.
React Native
import { dynamicClient } from '<path to client file>';

const signIn = async (externalJwt: string, externalUserId: string) => {
  try {
    await dynamicClient.auth.external.signInWithExternalJwt({
      externalJwt,
      externalUserId,
    });

  } catch (e) {
    console.error('Dynamic sign-in failed:', e);
  }
};

Parameters

ParameterTypeRequiredDescription
externalJwtstringYesThe raw encoded JWT issued by your authentication provider.
externalUserIdstringYesThe user ID in your authentication system. Must match the sub claim in the JWT — Dynamic derives the stored external user ID from the JWT server-side.