Authorize passkey session
Passkeys
Authorize Passkey Session
Authenticate with an existing passkey and refresh session key for transaction signing.
Authorize passkey session
Creates an authentication session for an existing passkey. Returns a URL to the hosted UI where the WebAuthn authentication ceremony takes place.
The URL includes:
Key Features
- Session Refresh: Creates new session key for existing passkey
- Hosted UI: Returns pre-configured URL with embedded challenge
- Custom Domains: Support for custom baseUrl configuration
- Cross-Platform: Works on web, mobile, and across devices
Request Body
meta_info (required)
Configuration for the hosted UI:- appName (string): Display name shown to users during authentication
- redirectUrl (string, optional): URL to redirect after completion
session_key (required)
Session key configuration:- key (string): Solana public key in base58 format
- expiration (number): Seconds from now until expiration (e.g., 900 for 15 minutes)
The session key is mandatory for authentication. The endpoint validates
that session_key is not null and will throw a
MissingSessionKey error if
omitted.The session key format in the request uses seconds from now for
expiration, but the response returns a Unix timestamp. For example, if
you send
expiration: 900, you’ll receive back expiration: 1234567890
(current time + 900 seconds).baseUrl (optional)
- baseUrl (string): Custom domain for hosting the passkey flow (e.g.,
https://auth.yourcompany.com) - If omitted, uses the default Grid hosted UI
Response
Returns a URL for the passkey authentication ceremony:- challenge: Base64 encoded challenge for WebAuthn (valid for 60 seconds)
- slot: Solana slot number for replay protection
- Other params: Configuration for the hosted UI
Implementation Flow
Important Notes
- Session Key Required: Unlike passkey creation, authentication must include a session_key
- Challenge Expiration: URL is valid for 60 seconds from generation
- Session Format: Request uses relative seconds, response uses Unix timestamp
- Algorithm: Only ES256 (algorithm
-7) is supported - User Presence: WebAuthn must verify user presence
- Session Validation: Grid validates session expiration against Solana blockchain clock
Error Handling
Common errors:- MissingSessionKey: No session_key provided (required for auth)
- InvalidMetaInfo: Missing or invalid appName
- InvalidSessionKey: Malformed session key format
- InvalidBaseUrl: Custom baseUrl format invalid
- NoValidExternallySignedAccount: Passkey not found
Related Endpoints
- Create Passkey Session - Create new passkey
- Submit Passkey Session - Submit WebAuthn response
- Get Passkey Account - Retrieve passkey details
Authorizations
Your Grid API key from the Grid Dashboard
Headers
Solana network environment (sandbox, devnet, mainnet)
Body
application/json
Response
Passkey authorization URL created successfully