16

私は 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}

誰にもアイデアがありますか?

どうもありがとう!

4

1 に答える 1