136 lines
4.9 KiB
XML
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">
|
|
{
|
|
"properties": {
|
|
"challenge_token": {
|
|
"description": "The token returned by the challenge endpoint",
|
|
"type": "string"
|
|
},
|
|
"credential": {
|
|
"description": "The WebAuthn PublicKeyCredential object (assertion)",
|
|
"properties": {
|
|
"clientExtensionResults": {
|
|
"type": "object"
|
|
},
|
|
"id": {
|
|
"description": "The credential ID (base64url)",
|
|
"type": "string"
|
|
},
|
|
"rawId": {
|
|
"description": "The raw credential ID (base64url)",
|
|
"type": "string"
|
|
},
|
|
"response": {
|
|
"properties": {
|
|
"authenticatorData": {
|
|
"description": "Base64URL-encoded authenticator data",
|
|
"type": "string"
|
|
},
|
|
"clientDataJSON": {
|
|
"description": "Base64URL-encoded client data",
|
|
"type": "string"
|
|
},
|
|
"signature": {
|
|
"description": "Base64URL-encoded signature",
|
|
"type": "string"
|
|
},
|
|
"userHandle": {
|
|
"description": "Base64URL-encoded user handle",
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"clientDataJSON",
|
|
"authenticatorData",
|
|
"signature"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"example": "public-key",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"rawId",
|
|
"type",
|
|
"response"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"g_recaptcha_response": {
|
|
"description": "reCAPTCHA verification token",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"challenge_token",
|
|
"credential",
|
|
"g_recaptcha_response"
|
|
],
|
|
"type": "object"
|
|
}
|
|
</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">
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"properties": {
|
|
"token": {
|
|
"description": "Bearer token for customer",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"token"
|
|
],
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"session": {
|
|
"description": "Session token for subuser",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"session"
|
|
],
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
</code-block>
|
|
</chapter>
|
|
</topic>
|