私は C# で多くの API を作成し、Swashbuckle を使用して "Swagger" ドキュメント Web サイトを作成しました。
認証 REST 呼び出しでは、ヘッダーで API キーを使用します。
ここに記載されているように、任意のプログラミング言語の特定のクライアントをダウンロードできるページを作成しました: https://generator.swagger.io
ユーザーが自分の API キーを使用してクライアントを生成できるようにして、コードで API キーを手動で設定する必要がないようにしたいと考えています。
私の Swagger JSON には、次のセキュリティ定義があります。
"securityDefinitions": {
"apiKey": {
"type": "apiKey",
"description": "API Key Authentication",
"name": "X-ApiKey",
"in": "header"
}
}
Swagger Client Generator のページで、クライアント オプションの設定を許可するこのモデルを見つけましたが、クライアント コードで API キーをハード コード (またはその他の種類の承認) する方法 (およびその場合) を見つけることができません。
GeneratorInput {
spec (object, optional),
options (object, optional),
swaggerUrl (string, optional),
authorizationValue (AuthorizationValue, optional),
securityDefinition (SecuritySchemeDefinition, optional)
}
AuthorizationValue {
value (string, optional),
type (string, optional),
keyName (string, optional)
}
SecuritySchemeDefinition {
description (string, optional),
type (string, optional)
}
AuthorizationValue オブジェクトを設定する必要があると思いますが、それに関するドキュメントはありません (または見つかりません)。
生成されたクライアント ライブラリで、すべてのリクエストに任意の HTTP ヘッダーを追加できれば十分です。
その場合、次のように追加できます。
X-ApiKey:{whatever the key is}
誰にもアイデアがありますか?
どうもありがとう!