If your app already authenticates users (via Firebase, Auth0, Supabase, or a custom system), you can bypass the AIR Kit login dialog and pass the authenticated user straight into an AIR Kit session. This is called Custom Auth (or BYO Auth).Documentation Index
Fetch the complete documentation index at: https://docs.moca.network/llms.txt
Use this file to discover all available pages before exploring further.
How it works
- Your app authenticates the user through your own system.
- Your backend signs a Partner JWT containing the user’s
emailandpartnerUserId. - Your frontend passes that JWT to
airService.login({ authToken }). - AIR Kit creates or loads the user’s AIR Account, skipping the built-in login UI.
When an email is provided in the JWT, AIR Kit verifies it with a one-time password the first time. After that initial verification, subsequent logins are seamless.
Prerequisites
- AIR Kit SDK installed and initialized. See Installation.
- Partner JWT signing configured (RS256 or ES256).
- The authenticated user’s email address available on your backend.
Step 1: Generate a Partner JWT on your backend
Includeemail and partnerUserId alongside partnerId:
Step 2: Fetch the token and log in on the frontend
Step 3: Use AIR Kit features normally
After login, all SDK methods work as usual — issue credentials, verify credentials, access smart accounts:JWT payload reference
| Field | Required | Description |
|---|---|---|
partnerId | Yes | Your Partner ID |
email | Yes (for custom auth) | The user’s verified email, used as their AIR Account identifier |
partnerUserId | Recommended | Your internal user ID, persisted on the AIR Account for cross-referencing |
exp | Yes | Token expiration (recommended: 5 minutes) |
Next steps
- User Login & Sessions for the full authentication reference
- Partner Authentication for JWT signing setup
- User Management for session handling, MFA, and user info