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

136 lines
4.9 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="Verify passkey authentication and start session" id="passkeyVerify">
<!-- 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/verify</code-block>
</chapter>
<chapter title="Operation" id="operation">
<p>Operation ID: <code>passkeyVerify</code></p>
<p>Verifies the WebAuthn assertion and challenge token. Returns a session token on success.</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;challenge_token&quot;: {
&quot;description&quot;: &quot;The token returned by the challenge endpoint&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;credential&quot;: {
&quot;description&quot;: &quot;The WebAuthn PublicKeyCredential object (assertion)&quot;,
&quot;properties&quot;: {
&quot;clientExtensionResults&quot;: {
&quot;type&quot;: &quot;object&quot;
},
&quot;id&quot;: {
&quot;description&quot;: &quot;The credential ID (base64url)&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;rawId&quot;: {
&quot;description&quot;: &quot;The raw credential ID (base64url)&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;response&quot;: {
&quot;properties&quot;: {
&quot;authenticatorData&quot;: {
&quot;description&quot;: &quot;Base64URL-encoded authenticator data&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;clientDataJSON&quot;: {
&quot;description&quot;: &quot;Base64URL-encoded client data&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;signature&quot;: {
&quot;description&quot;: &quot;Base64URL-encoded signature&quot;,
&quot;type&quot;: &quot;string&quot;
},
&quot;userHandle&quot;: {
&quot;description&quot;: &quot;Base64URL-encoded user handle&quot;,
&quot;nullable&quot;: true,
&quot;type&quot;: &quot;string&quot;
}
},
&quot;required&quot;: [
&quot;clientDataJSON&quot;,
&quot;authenticatorData&quot;,
&quot;signature&quot;
],
&quot;type&quot;: &quot;object&quot;
},
&quot;type&quot;: {
&quot;example&quot;: &quot;public-key&quot;,
&quot;type&quot;: &quot;string&quot;
}
},
&quot;required&quot;: [
&quot;id&quot;,
&quot;rawId&quot;,
&quot;type&quot;,
&quot;response&quot;
],
&quot;type&quot;: &quot;object&quot;
},
&quot;g_recaptcha_response&quot;: {
&quot;description&quot;: &quot;reCAPTCHA verification token&quot;,
&quot;type&quot;: &quot;string&quot;
}
},
&quot;required&quot;: [
&quot;challenge_token&quot;,
&quot;credential&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>Verification successful, session started</td><td>application/json</td></tr>
<tr><td>400</td><td></td><td></td></tr>
<tr><td>401</td><td></td><td></td></tr>
</table>
<p>Schema for response <code>200</code> (<code>application/json</code>):</p>
<code-block lang="json">
{
&quot;oneOf&quot;: [
{
&quot;properties&quot;: {
&quot;token&quot;: {
&quot;description&quot;: &quot;Bearer token for customer&quot;,
&quot;type&quot;: &quot;string&quot;
}
},
&quot;required&quot;: [
&quot;token&quot;
],
&quot;type&quot;: &quot;object&quot;
},
{
&quot;properties&quot;: {
&quot;session&quot;: {
&quot;description&quot;: &quot;Session token for subuser&quot;,
&quot;type&quot;: &quot;string&quot;
}
},
&quot;required&quot;: [
&quot;session&quot;
],
&quot;type&quot;: &quot;object&quot;
}
]
}
</code-block>
</chapter>
</topic>