QuarkusSwagger-UI認証
Oct 01 2020
私は現在、quarkus-smallrye-openapiによって提供されるQuarkusおよびSwagger-UIを使用しています。セキュリティとしてAzureADのOIDCがありますが、これは現在Swagger-UIでサポートされていないため(Swagger-Docsを参照)、Swaggerに「実際の」認証を追加することはできません。つまり、エンドポイントは少なくともで保護されているため、Swaggerを使用できません@RolesAllowed。モックセキュリティトークンをフェッチするエンドポイントがありますが、swaggerにこのトークンを取得するように指示する方法がわかりません。基本的にはswagger-uiに「ここにこのトークンがあり、Authorization: Bearer XXXすべてのリクエストに追加します」と伝えたいのですが、Quarkusでそれを行う方法がわかりません。
回答
7 Haroon Oct 06 2020 at 12:18
- セキュリティスキームを登録する
@Path("/sample")
@SecuritySchemes(value = {
@SecurityScheme(securitySchemeName = "apiKey",
type = SecuritySchemeType.HTTP,
scheme = "Bearer")}
)
public class SampleResource {
- 登録されたスキーム名で操作のセキュリティ要件をマークします。
@GET
@SecurityRequirement(name = "apiKey")
String hello() {
承認オプションがSwaggerページで利用できるようになりました。ここにモックAPIキーを入力します。
SwaggerUIからサービスをトリガーします。これで
Authorization: Bearer <VALUE>、リクエストにヘッダーセットが表示されます。