From 99048f43123a733924cf2e43a567f969ddee94ef Mon Sep 17 00:00:00 2001 From: kubectl Date: Sun, 21 Jul 2024 16:50:58 +0200 Subject: [PATCH 1/3] fix: add RequiresTwoFactorAuth object and oneOf switch in response --- .../authentication/CurrentUserLoginResponse.yaml | 6 ++++-- openapi/components/schemas/RequiresTwoFactorAuth.yaml | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 openapi/components/schemas/RequiresTwoFactorAuth.yaml diff --git a/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml b/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml index ce21bac9..9b2ed30a 100644 --- a/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml +++ b/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml @@ -2,10 +2,12 @@ description: OK content: application/json: schema: - $ref: ../../schemas/CurrentUser.yaml + oneOf: + - $ref: ../../schemas/CurrentUser.yaml + - $ref: ../../schemas/RequiresTwoFactorAuth.yaml headers: Set-Cookie: schema: type: string - example: 'auth=authcookie_00000000-0000-0000-0000-000000000000; Expires=Tue, 01 Jan 2030 00:00:00 GMT; Path=/; HttpOnly' + example: "auth=authcookie_00000000-0000-0000-0000-000000000000; Expires=Tue, 01 Jan 2030 00:00:00 GMT; Path=/; HttpOnly" description: Successful authentication returns an `auth` cookie. diff --git a/openapi/components/schemas/RequiresTwoFactorAuth.yaml b/openapi/components/schemas/RequiresTwoFactorAuth.yaml new file mode 100644 index 00000000..7d476f4e --- /dev/null +++ b/openapi/components/schemas/RequiresTwoFactorAuth.yaml @@ -0,0 +1,9 @@ +title: RequiresTwoFactorAuth +type: object +properties: + requiresTwoFactorAuth: + type: array + items: + type: string +required: + - requiresTwoFactorAuth From 9180c65a8f9e23805988ca14d26808a51e433b65 Mon Sep 17 00:00:00 2001 From: kubectl Date: Mon, 22 Jul 2024 16:18:27 +0200 Subject: [PATCH 2/3] Update openapi/components/schemas/RequiresTwoFactorAuth.yaml Co-authored-by: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> --- openapi/components/schemas/RequiresTwoFactorAuth.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openapi/components/schemas/RequiresTwoFactorAuth.yaml b/openapi/components/schemas/RequiresTwoFactorAuth.yaml index 7d476f4e..27cc5108 100644 --- a/openapi/components/schemas/RequiresTwoFactorAuth.yaml +++ b/openapi/components/schemas/RequiresTwoFactorAuth.yaml @@ -5,5 +5,9 @@ properties: type: array items: type: string + enum: + - totp + - otp + - emailOtp required: - requiresTwoFactorAuth From cc4a59ffe9c04fc738987cb8e778875b86104940 Mon Sep 17 00:00:00 2001 From: kubectl Date: Mon, 22 Jul 2024 16:26:21 +0200 Subject: [PATCH 3/3] fix: rename 2FA Response to sidestep naming conflicts --- .../responses/authentication/CurrentUserLoginResponse.yaml | 2 +- .../{RequiresTwoFactorAuth.yaml => TwoFactorRequired.yaml} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename openapi/components/schemas/{RequiresTwoFactorAuth.yaml => TwoFactorRequired.yaml} (86%) diff --git a/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml b/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml index 9b2ed30a..8c4f9a84 100644 --- a/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml +++ b/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml @@ -4,7 +4,7 @@ content: schema: oneOf: - $ref: ../../schemas/CurrentUser.yaml - - $ref: ../../schemas/RequiresTwoFactorAuth.yaml + - $ref: ../../schemas/TwoFactorRequired.yaml headers: Set-Cookie: schema: diff --git a/openapi/components/schemas/RequiresTwoFactorAuth.yaml b/openapi/components/schemas/TwoFactorRequired.yaml similarity index 86% rename from openapi/components/schemas/RequiresTwoFactorAuth.yaml rename to openapi/components/schemas/TwoFactorRequired.yaml index 27cc5108..04b1364c 100644 --- a/openapi/components/schemas/RequiresTwoFactorAuth.yaml +++ b/openapi/components/schemas/TwoFactorRequired.yaml @@ -1,4 +1,4 @@ -title: RequiresTwoFactorAuth +title: TwoFactorRequired type: object properties: requiresTwoFactorAuth: