OAuth hosted login: WebAuthn authentication options
/oauth/mfa/webauthn/optionsStep 1 of the hosted WebAuthn MFA factor: returns the assertion options (as raw JSON for the browser's navigator.credentials.get()) for the active challenge_token. Responds with 400 and { error } when the challenge is invalid or expired. Throttled to 10 requests per minute.
Request body
application/json
challenge_tokenstring Required Responses
application/json
challenge *stringChallenge, base64url
timeoutnumberMilliseconds the ceremony may take
rpIdstringRelying party id
allowCredentialsOAuthWebAuthnCredentialDescriptorDto[]The identity's registered passkeys
userVerificationstring
application/json
error *stringWhat went wrong, for the page to show; `expired` when the session ran out
application/json
error *ApiErrorBodyDto
Rate limit
10 requests per 1mPer caller: the signed-in user for a bearer token; for an API key, the key and the end user's address when a backend forwards it, otherwise the client address
Returned object
curl -X POST "https://auth.canopy-io.com/oauth/mfa/webauthn/options" \ -H "Content-Type: application/json" \ -d '{ "challenge_token": "string" }'
{ "challenge": "string", "timeout": 0, "rpId": "string", "allowCredentials": [ { "id": "string", "type": "public-key", "transports": [ "string" ] } ], "userVerification": "preferred" }
Tell us how we can improve this guide.