From a512c90bdaefebf921fc8d69de55deefff92ae11 Mon Sep 17 00:00:00 2001 From: "Nolann B." <100787331+nolannbiron@users.noreply.github.com> Date: Wed, 12 Nov 2025 19:40:21 +0100 Subject: [PATCH] Re-arrange OpenAPI Scopes for OAuth2 (#3799) --- .changeset/calm-shirts-tie.md | 5 +++++ .../src/OpenAPIRequiredScopes.tsx | 16 +++++++--------- .../react-openapi/src/OpenAPISecurities.tsx | 19 ++++++++++++++++--- packages/react-openapi/src/translations/de.ts | 1 + packages/react-openapi/src/translations/en.ts | 1 + packages/react-openapi/src/translations/es.ts | 1 + packages/react-openapi/src/translations/fr.ts | 1 + packages/react-openapi/src/translations/ja.ts | 1 + packages/react-openapi/src/translations/nl.ts | 1 + packages/react-openapi/src/translations/no.ts | 1 + .../react-openapi/src/translations/pt-br.ts | 1 + packages/react-openapi/src/translations/zh.ts | 1 + 12 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 .changeset/calm-shirts-tie.md diff --git a/.changeset/calm-shirts-tie.md b/.changeset/calm-shirts-tie.md new file mode 100644 index 000000000..2ecafaa2e --- /dev/null +++ b/.changeset/calm-shirts-tie.md @@ -0,0 +1,5 @@ +--- +'@gitbook/react-openapi': patch +--- + +Re-arrange OpenAPI Scopes for OAuth2 diff --git a/packages/react-openapi/src/OpenAPIRequiredScopes.tsx b/packages/react-openapi/src/OpenAPIRequiredScopes.tsx index 78436f208..6bef0def0 100644 --- a/packages/react-openapi/src/OpenAPIRequiredScopes.tsx +++ b/packages/react-openapi/src/OpenAPIRequiredScopes.tsx @@ -25,12 +25,6 @@ export function OpenAPIRequiredScopes(props: { } const scopes = selectedSecurity.schemes.flatMap((scheme) => { - if (scheme.type === 'oauth2') { - return Object.entries(scheme.flows ?? {}).flatMap(([_, flow]) => - Object.entries(flow.scopes ?? {}) - ); - } - return scheme.scopes ?? []; }); @@ -66,16 +60,20 @@ export function OpenAPIRequiredScopes(props: { ); } -function OpenAPISchemaScopes(props: { +export function OpenAPISchemaScopes(props: { scopes: OpenAPISecurityScope[]; context: OpenAPIClientContext; + isOAuth2?: boolean; }) { - const { scopes, context } = props; + const { scopes, context, isOAuth2 } = props; return (