Start a passkey step-up
/auth/passkey/step-up/options
Response Body
A bare PublicKeyCredentialRequestOptionsJSON — pass it straight to navigator.credentials.get({ publicKey }). Note rpId is flat here, unlike the nested rp object on registration options.
Always empty — sign-in is usernameless, so the browser offers whichever discoverable credential it holds for this rpId. Naming credentials here would leak which accounts exist.
base64url challenge. Single-use, stored server-side for 5 minutes under handle.
qsNjZMVirtbhRzdVbqWzyBiP224DB-Bu0X3_JqJJTNQThe environment's APP_URL host.
app.truto.one60000requiredrequired
curl -X POST 'https://api.truto.one/auth/passkey/step-up/options' \
-H 'Authorization: Bearer <your_api_token>' \
-H 'Content-Type: application/json'const response = await fetch('https://api.truto.one/auth/passkey/step-up/options', {
method: 'POST',
headers: {
'Authorization': 'Bearer <your_api_token>',
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import requests
url = "https://api.truto.one/auth/passkey/step-up/options"
headers = {
"Authorization": "Bearer <your_api_token>",
"Content-Type": "application/json",
}
params = {
}
response = requests.post(url, headers=headers, params=params)
print(response.json())