From d9029c7e1e4cfadd949c4a70259cdc7d0e7a08f0 Mon Sep 17 00:00:00 2001 From: "Nolann B." <100787331+nolannbiron@users.noreply.github.com> Date: Tue, 4 Feb 2025 17:19:39 +0100 Subject: [PATCH] Include apiKey example in CodeSample security headers (#2804) --- .changeset/blue-vans-marry.md | 5 +++++ .../react-openapi/src/OpenAPICodeSample.tsx | 22 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 .changeset/blue-vans-marry.md diff --git a/.changeset/blue-vans-marry.md b/.changeset/blue-vans-marry.md new file mode 100644 index 000000000..a848171dc --- /dev/null +++ b/.changeset/blue-vans-marry.md @@ -0,0 +1,5 @@ +--- +'@gitbook/react-openapi': patch +--- + +Support apiKey in CodeSample security headers diff --git a/packages/react-openapi/src/OpenAPICodeSample.tsx b/packages/react-openapi/src/OpenAPICodeSample.tsx index 8ed04e303..ac3c06c70 100644 --- a/packages/react-openapi/src/OpenAPICodeSample.tsx +++ b/packages/react-openapi/src/OpenAPICodeSample.tsx @@ -153,6 +153,28 @@ function getSecurityHeaders(securities: OpenAPIOperationData['securities']): { Authorization: scheme + ' ' + (security[1].bearerFormat ?? ''), }; } + case 'apiKey': { + if (security[1].in !== 'header') return {}; + + const name = security[1].name ?? 'Authorization'; + let scheme = security[0]; + + switch (scheme) { + case 'bearerAuth': + scheme = 'Bearer'; + break; + case 'token': + scheme = 'Token'; + break; + case 'basic': + scheme = 'Basic'; + break; + } + + return { + [name]: scheme + ' ' + '', + }; + } default: { return {}; }