Configure authentication settings
Configure the authentication settings from your existing authentication provider in the Privy
Dashboard. Privy will use these settings to verify a user’s access token.
Create your user
Create a user user in Privy
using the user ID from your authentication provider. This user will be assigned as the owner of
their wallet.
Request a user key with a user's access token
While your user is authenticated in your app, use your user’s access token to request an
ephemeral user key for your user. This
key is required to sign requests to execute transactions, ensuring the user stays in the loop
for all transactions.
1. Configure authentication settings
Privy ensures that users are in the loop for all wallet actions by requiring a valid access token for your user issued by your authentication provider. This ensures your user is authenticated for all transactions executed by your server. To verify a user’s access token, Privy requires that your app register details of your authentication setup in the Privy Dashboard. Namely:- Get your JWKS.json endpoint from your authentication provider (e.g. Auth0, Firebase, Stytch). Privy will use this endpoint to verify access tokens for your users.
- In the Authentication page of the Configuration section of the Privy Dashboard, enable JWT-based authentication.
- Once JWT-based authentication has been enabled:
- Determine whether your app will be authenticating requests that contain your provider’s JWTs from a server side or client side environment.
- Register the JWKS.json endpoint from your authentication provider and the name of the JWT claim that specifies the user’s ID (typically
sub). Privy can now verify access tokens issued by your authentication provider to authenticate users, and issue user keys for users.

