Skip to content

Commit 7872555

Browse files
authored
Merge pull request #55 from supertokens/fix/missing-webauthn-endpoints
fix: add missing WebAuthn credential management endpoints [4.2]
2 parents a37ebfb + d6d5349 commit 7872555

File tree

2 files changed

+106
-0
lines changed

2 files changed

+106
-0
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
77

8+
## [4.2.0] - 2025-07-29
9+
10+
- Added support for listing and removing WebAuthn credentials for a user. New APIs":
11+
- `POST /{apiBasePath}/<tenantId>/webauthn/credential/remove`
12+
- `GET /{apiBasePath}/<tenantId>/webauthn/credential/list`
13+
814
## [4.1.0] - 2025-05-14
915

1016
### Changes

api_spec.yaml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2957,6 +2957,106 @@ paths:
29572957
'500':
29582958
$ref: '#/components/responses/500'
29592959

2960+
/{apiBasePath}/<tenantId>/webauthn/credential/remove:
2961+
post:
2962+
tags:
2963+
- WebAuthn Recipe
2964+
operationId: webauthnRemoveCredential
2965+
description: |
2966+
Remove a WebAuthn credential for an existing user
2967+
parameters:
2968+
- $ref: '#/components/parameters/apiBasePath'
2969+
- $ref: '#/components/parameters/webauthnRid'
2970+
- $ref: '#/components/parameters/anti-csrf'
2971+
security:
2972+
- AccessTokenBearer: []
2973+
- AccessTokenCookie: []
2974+
requestBody:
2975+
content:
2976+
application/json:
2977+
schema:
2978+
type: object
2979+
required:
2980+
- webauthnCredentialId
2981+
properties:
2982+
webauthnCredentialId:
2983+
type: string
2984+
example: "cred_123..."
2985+
responses:
2986+
'200':
2987+
description: Credential removal response
2988+
content:
2989+
application/json:
2990+
schema:
2991+
oneOf:
2992+
- type: object
2993+
properties:
2994+
status:
2995+
$ref: '#/components/schemas/statusOK'
2996+
- $ref: '#/components/schemas/generalErrorResponse'
2997+
- type: object
2998+
properties:
2999+
status:
3000+
type: string
3001+
enum: ["CREDENTIAL_NOT_FOUND_ERROR"]
3002+
'404':
3003+
$ref: '#/components/responses/404'
3004+
'500':
3005+
$ref: '#/components/responses/500'
3006+
3007+
/{apiBasePath}/<tenantId>/webauthn/credential/list:
3008+
get:
3009+
tags:
3010+
- WebAuthn Recipe
3011+
operationId: webauthnListCredentials
3012+
description: |
3013+
List all WebAuthn credentials for an existing user
3014+
parameters:
3015+
- $ref: '#/components/parameters/apiBasePath'
3016+
- $ref: '#/components/parameters/webauthnRid'
3017+
- $ref: '#/components/parameters/anti-csrf'
3018+
security:
3019+
- AccessTokenBearer: []
3020+
- AccessTokenCookie: []
3021+
responses:
3022+
'200':
3023+
description: Credential list response
3024+
content:
3025+
application/json:
3026+
schema:
3027+
oneOf:
3028+
- type: object
3029+
properties:
3030+
status:
3031+
$ref: '#/components/schemas/statusOK'
3032+
credentials:
3033+
type: array
3034+
items:
3035+
type: object
3036+
properties:
3037+
webauthnCredentialId:
3038+
type: string
3039+
example: "cred_123..."
3040+
relyingPartyId:
3041+
type: string
3042+
example: "https://example.com"
3043+
recipeUserId:
3044+
type: string
3045+
example: "user_123..."
3046+
createdAt:
3047+
type: number
3048+
example: 1638433545183
3049+
- $ref: '#/components/schemas/generalErrorResponse'
3050+
- type: object
3051+
properties:
3052+
status:
3053+
type: string
3054+
enum: ["CREDENTIAL_NOT_FOUND_ERROR"]
3055+
'404':
3056+
$ref: '#/components/responses/404'
3057+
'500':
3058+
$ref: '#/components/responses/500'
3059+
29603060
/{apiBasePath}/<tenantId>/webauthn/email/exists:
29613061
get:
29623062
tags:

0 commit comments

Comments
 (0)