Kong GatewayのPoCをやっている時に、ある問題に遭いました。 PoCの要件は以下になる
- Key-authプラグインでGateway全体を保護
- Request-transformerプラグインで必要なAPI KeyをHeaderに付与し認証を突破
二つのプラグインを設定した後、API keyをrequestに追加されても認証されない
|
|
理由を調べたら、どうやらPluginのデフォルトの実行順番があるらしいです。
https://docs.konghq.com/gateway/latest/plugin-development/custom-logic/#plugins-execution-order
key-authのプライオリティは1250
、request-transformer-advの801
より高いです。よってkey-authが実行するときに、Headerに必要なAPI Keyがまだ付与されていない状態になります。
解決方法として、Kong Gateway 3.0に新しく追加された機能、plugin orderingでプラグインの実行順番を明示すればOKです。
https://docs.konghq.com/gateway/3.0.x/kong-enterprise/plugin-ordering/get-started/
よしでは実装してみよう。request-transformer-advanced
のプラグインを設定するときに、key-auth
の前にすると宣言します。
|
|
ジャジャン♪