1.5. API キー認証の例


次の例は、apiKey 認証スキームを使用して OpenAPI サービス操作を保護する方法を示しています。security-example.json ファイルは、api-key-example セキュリティースキームを使用する sayHelloApiKey 操作を定義します。アプリケーションプロパティー、ワークフロー ConfigMap、または環境変数を使用して API キーを設定できます。

API キー認証を使用した OpenAPI 仕様の例

{
  "openapi": "3.1.0",
  "info": {
    "title": "Api Key Scheme Example",
    "version": "1.0"
  },
  "paths": {
    "/hello-with-api-key": {
      "get": {
        "operationId": "sayHelloApiKey",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [{"api-key-example" : []}]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "api-key-example": {
        "type": "apiKey",
        "name": "api-key-name",
        "in": "header"
      }
    }
  }
}

この例では、sayHelloApiKey 操作は、HTTP リクエストヘッダーで渡される API キーを使用する api-key-example セキュリティースキームによって保護されています。

1.5.1. API キー認証でサポートされている設定プロパティー

次の設定プロパティーを使用して API キーを設定できます。

説明プロパティーキー例

API キー

quarkus.openapi-generator.[filename].auth.[security_scheme_name].api-key

quarkus.openapi-generator.security_example_json.auth.api_key_example.api-key=MY_KEY

[filename] はサニタイズされた OpenAPI ファイル名 security_example_json に置き換え、[security_scheme_name] はサニタイズされたスキーム名 api_key_example に置き換えることができます。

apiKey スキームタイプには、Open API サービスが呼び出されたときに使用するキー名を設定する追加の name プロパティーが含まれています。また、キーを渡す形式は、in プロパティーの値によって異なります。

  • 値が header の場合、キーは HTTP ヘッダーとして渡されます。
  • 値が cookie の場合、キーは HTTP Cookie として渡されます。
  • 値が query の場合、キーは HTTP クエリーパラメーターとして渡されます。

この例では、キーは api-key-name: MY_KEY として HTTP ヘッダーに渡されます。

サーバーレスロジックはこれを内部的に管理するため、プロパティー値を設定する以外に追加の設定は必要ありません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る