Skip to content

[UI] Add support for apiKey in query and cookie param #1151

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 27, 2025

Conversation

blindaa121
Copy link
Collaborator

@blindaa121 blindaa121 commented May 20, 2025

Description

This PR consists of added support for allowing Security Schemes with the type of apiKey to be used for the following parameter types:

  • in: query
  • in: cookie

Although the original issue proposes that the value should be shown in the UI, we will continue to mask credentials to align with best security practices - while still allowing the user to make the underlying request within the Request Demo Panel.

Motivation and Context

See #1150 for context.

How Has This Been Tested?

Tested with the following spec and ensured that request can be made from Request Demo Panel:

  openapi: 3.0.3
  info:
    title: Test API key in Header
    version: 1.0.0
  servers:
    - url: https://httpbingo.org
  tags:
    - name: Test
  paths:
    /get:
      get:
        operationId: getTest
        tags:
          - Test
        summary: Test the securityScheme
        responses:
          '200':
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    args:
                      type: object
                      properties:
                        appId: # should be present, because it will be inserted as a query param
                          type: array
                          items:
                            type: string
                      additionalProperties:
                        type: array
                        items:
                          type: string
                  additionalProperties: true
  components:
    securitySchemes:
      App_ID:
        type: apiKey
        in: query
        name: appId
        description: Provided in the URL as a query parameter `?appId=<id>`, meant  to publicly identify your account, it is not a sensitive information.
  security:
    - App_ID: []

Screenshots (if appropriate)

Tested request from Demo Panel

image

Updated Authentication Table to reflect in parameter (previously hard coded to 'Header')

Screenshot 2025-05-20 at 2 59 44 PM

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes if appropriate.
  • All new and existing tests passed.

@blindaa121 blindaa121 self-assigned this May 20, 2025
Copy link

Size Change: 0 B

Total Size: 2.13 MB

ℹ️ View Unchanged
Filename Size
demo/.docusaurus/codeTranslations.json 2 B
demo/.docusaurus/docusaurus.config.mjs 14.3 kB
demo/.docusaurus/globalData.json 54.4 kB
demo/.docusaurus/i18n.json 267 B
demo/.docusaurus/registry.js 78.9 kB
demo/.docusaurus/routes.js 74.7 kB
demo/.docusaurus/routesChunkNames.json 30.8 kB
demo/.docusaurus/site-metadata.json 1.35 kB
demo/build/assets/css/styles.********.css 146 kB
demo/build/assets/js/main.********.js 707 kB
demo/build/assets/js/runtime~main.********.js 19.9 kB
demo/build/index.html 91.5 kB
demo/build/petstore/add-pet/index.html 28.1 kB
demo/build/petstore/create-user/index.html 22.2 kB
demo/build/petstore/create-users-with-array-input/index.html 22.3 kB
demo/build/petstore/create-users-with-list-input/index.html 22.3 kB
demo/build/petstore/delete-order/index.html 22.3 kB
demo/build/petstore/delete-pet/index.html 22.3 kB
demo/build/petstore/delete-user/index.html 22.6 kB
demo/build/petstore/find-pets-by-status/index.html 23 kB
demo/build/petstore/find-pets-by-tags/index.html 23.7 kB
demo/build/petstore/get-inventory/index.html 21.6 kB
demo/build/petstore/get-order-by-id/index.html 22.5 kB
demo/build/petstore/get-pet-by-id/index.html 23.1 kB
demo/build/petstore/get-user-by-name/index.html 22.6 kB
demo/build/petstore/login-user/index.html 23.2 kB
demo/build/petstore/logout-user/index.html 21.9 kB
demo/build/petstore/new-pet/index.html 22.5 kB
demo/build/petstore/pet/index.html 20.8 kB
demo/build/petstore/place-order/index.html 21.8 kB
demo/build/petstore/schemas/apiresponse/index.html 23.6 kB
demo/build/petstore/schemas/cat/index.html 37.5 kB
demo/build/petstore/schemas/category/index.html 24.7 kB
demo/build/petstore/schemas/dog/index.html 37.9 kB
demo/build/petstore/schemas/honeybee/index.html 37.9 kB
demo/build/petstore/schemas/id/index.html 21.7 kB
demo/build/petstore/schemas/order/index.html 25.8 kB
demo/build/petstore/schemas/pet/index.html 37.4 kB
demo/build/petstore/schemas/tag/index.html 23.1 kB
demo/build/petstore/schemas/user/index.html 45.6 kB
demo/build/petstore/store/index.html 20 kB
demo/build/petstore/subscribe-to-the-store-events/index.html 28.6 kB
demo/build/petstore/swagger-petstore-yaml/index.html 28.7 kB
demo/build/petstore/update-pet-with-form/index.html 22.5 kB
demo/build/petstore/update-pet/index.html 22.9 kB
demo/build/petstore/update-user/index.html 22.5 kB
demo/build/petstore/upload-file/index.html 22.3 kB
demo/build/petstore/user/index.html 20.5 kB

compressed-size-action

Copy link

Visit the preview URL for this PR (updated for commit 13535a0):

https://docusaurus-openapi-36b86--pr1151-zxcwxkui.web.app

(expires Thu, 19 Jun 2025 22:24:16 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: bf293780ee827f578864d92193b8c2866acd459f

@blindaa121 blindaa121 requested a review from sserrata May 20, 2025 22:25
@blindaa121 blindaa121 merged commit 912f7d6 into main May 27, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant