4

Luminus を reitit と swagger-ui と共に使用して、Luminus API を試すためのページを生成しました。API リクエストの本文を入力して送信するだけで、API をテストできます。 私の闊歩UIのスナップショット これで、バディを使用して認証を追加しました。API では、リクエストのヘッダーでトークンを渡す必要があります。そうしないと、リクエストが禁止されているとして拒否されます。
JWT トークン文字列を入力して API をテストできるように、"Authorization" ヘッダー フィールドを魔法のように UI に表示しようとしています。これは、reitit を使用して API を作成する人にとって非常に一般的な要件であるに違いありませんが、その方法がわかりません。私は周りを検索し、テキストを含むこの reitit issues pageを見つけました...

ヘッダー パラメータは、Ring が提供するものと正確に一致する小文字の文字列 {:headers {"authorization" string?}} として宣言されます。(ドキュメント用に HTTP-Header-Case にすることもできます。)

...そして、以下のセットアップを提案します...

:get {:summary "list offers"
      :parameters 
        {:headers 
          {"authorization" string?}}
         ... etc

それをしても、認証する方法がありませんでした。それで、私はこの議論を見つけて、上記のルートの :summary と :parameters の後に以下を追加してルートを編集しました...

             :middleware [authenticated?]
             :swagger {:security [:apiKey]}

それを追加した後、私はこれを取得します... ここに画像の説明を入力

...これは正しい軌道に乗っているように見えますが、認証ヘッダーにトークンを入力する方法がまだありません。

私が言ったように、すべてがcurlで機能しています...そのswaggerは認証ヘッダーを追加する方法を示していません。このシナリオで Swagger UI を動作させる方法を知っている人はいますか?

reitit がこれをサポートしていない場合、認証されたリクエストに Swagger UI をどのように使用していますか?

どんな助けでも大歓迎です!

4

1 に答える 1