Files
api/documentation/topics/generated/passkeyChallenge.topic
T

109 lines
4.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
SYSTEM "https://resources.jetbrains.com/writerside/1.0/xhtml-entities.dtd">
<topic xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/topic.v2.xsd"
title="Initiate passkey authentication challenge" id="passkeyChallenge">
<!-- AUTO-GENERATED, DO NOT EDIT -->
<p>This endpoint documentation is generated directly from <code>openapi.yaml</code>.</p>
<chapter title="Endpoint" id="endpoint">
<code-block lang="http">POST /auth/passkey/challenge</code-block>
</chapter>
<chapter title="Operation" id="operation">
<p>Operation ID: <code>passkeyChallenge</code></p>
<p>Generates a WebAuthn PublicKeyCredentialRequestOptions payload. If customer_number is provided, allowCredentials will be populated with existing passkeys for that account. Otherwise, a challenge is issued for discoverable credentials.</p>
</chapter>
<chapter title="Authentication" id="authentication"><p>No authentication required.</p></chapter>
<chapter title="Request Body" id="request-body">
<p>Required: yes.</p>
<p>Content type: <code>application/json</code></p>
<code-block lang="json">
{
&quot;properties&quot;: {
&quot;customer_number&quot;: {
&quot;description&quot;: &quot;Optional customer&#x27;s e-conomic customer number&quot;,
&quot;example&quot;: 12345,
&quot;type&quot;: &quot;integer&quot;
},
&quot;g_recaptcha_response&quot;: {
&quot;description&quot;: &quot;reCAPTCHA verification token&quot;,
&quot;type&quot;: &quot;string&quot;
}
},
&quot;required&quot;: [
&quot;g_recaptcha_response&quot;
],
&quot;type&quot;: &quot;object&quot;
}
</code-block>
</chapter>
<chapter title="Responses" id="responses">
<table>
<tr><td>Status</td><td>Description</td><td>Content Types</td></tr>
<tr><td>200</td><td>Challenge generated</td><td>application/json</td></tr>
<tr><td>400</td><td></td><td></td></tr>
</table>
<p>Schema for response <code>200</code> (<code>application/json</code>):</p>
<code-block lang="json">
{
&quot;properties&quot;: {
&quot;challenge_token&quot;: {
&quot;description&quot;: &quot;Temporary token binding the challenge to the login attempt&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;publicKey&quot;: {
&quot;properties&quot;: {
&quot;allowCredentials&quot;: {
&quot;items&quot;: {
&quot;properties&quot;: {
&quot;id&quot;: {
&quot;description&quot;: &quot;Base64URL-encoded credential ID&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;transports&quot;: {
&quot;items&quot;: {
&quot;type&quot;: &quot;string&quot;
},
&quot;type&quot;: &quot;array&quot;
},
&quot;type&quot;: {
&quot;example&quot;: &quot;public-key&quot;,
&quot;type&quot;: &quot;string&quot;
}
},
&quot;type&quot;: &quot;object&quot;
},
&quot;type&quot;: &quot;array&quot;
},
&quot;challenge&quot;: {
&quot;description&quot;: &quot;Base64URL-encoded challenge&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;rpId&quot;: {
&quot;description&quot;: &quot;Relying party ID (truckwash.io or localhost)&quot;,
&quot;example&quot;: &quot;truckwash.io&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;timeout&quot;: {
&quot;description&quot;: &quot;Timeout in milliseconds&quot;,
&quot;type&quot;: &quot;integer&quot;
},
&quot;userVerification&quot;: {
&quot;enum&quot;: [
&quot;required&quot;,
&quot;preferred&quot;,
&quot;discouraged&quot;
],
&quot;type&quot;: &quot;string&quot;
}
},
&quot;type&quot;: &quot;object&quot;
}
},
&quot;type&quot;: &quot;object&quot;
}
</code-block>
</chapter>
</topic>