発信者がヘッダーで送信する API キーを使用するように Google API Gateway をセットアップしようとしています。
私のAPI構成yamlは次のようになります:
...
securityDefinitions:
api_key_header:
type: apiKey
name: key
in: header
api_key_query:
type: apiKey
name: key
in: query
paths:
/foo-header:
get:
summary: Test foo endpoint
operationId: testGet-header
x-google-backend:
address: "<backend address>"
protocol: h2
path_translation: APPEND_PATH_TO_ADDRESS
security:
- api_key_header: []
responses:
204:
description: A successful response
/foo-query:
get:
summary: Test foo endpoint
operationId: testGet-header
x-google-backend:
address: "<backend address>"
protocol: h2
path_translation: APPEND_PATH_TO_ADDRESS
security:
- api_key_query: []
responses:
204:
description: A successful response
ヘッダーまたはクエリ パラメーターを介して有効な API キーが提供されない場合、両方の呼び出しが失敗し、401 ステータスで失敗すること/foo-header
が予想されます。/foo-query
しかし、実際に/foo-query
は期待どおりに動作するだけです。
リクエスト/foo-header
ヘッダーに API キーが指定されていない場合でも、バックエンドに渡すリクエスト。
構成に問題がありますか、それともリクエスト ヘッダーに API キーが指定されている場合に Google API Gateway が正しく動作しないのでしょうか?