Quarkus Swagger-UI 인증

Oct 01 2020

Im은 현재 quarkus-smallrye-openapi에서 제공하는 Quarkus 및 Swagger-UI로 작업하고 있습니다. 현재 Swagger-UI ( Swagger-Docs 참조 )에서 지원하지 않는 보안으로 Azure AD의 OIDC가 있으므로 "실제"권한 부여를 swagger에 추가 할 수 없습니다. 즉, 내 엔드 포인트가 최소한 .NET으로 보호되기 때문에 Swagger를 사용할 수 없습니다 @RolesAllowed. 모의 보안 토큰을 가져올 엔드 포인트가 있지만이 토큰을 가져 오라고 swagger에게 지시하는 방법을 모르겠습니다. 기본적으로 swagger-ui에게 "여기에이 토큰이 있습니다. Authorization: Bearer XXX모든 요청에 추가 합니다."라고 말하고 싶지만 Quarkus에서이를 수행하는 방법을 모르겠습니다.

답변

7 Haroon Oct 06 2020 at 12:18
  1. 보안 체계 등록
@Path("/sample")
@SecuritySchemes(value = {
        @SecurityScheme(securitySchemeName = "apiKey", 
                        type = SecuritySchemeType.HTTP,
                        scheme = "Bearer")}
)
public class SampleResource {
  1. 등록 된 체계 이름으로 작업의 보안 요구 사항을 표시합니다.
    @GET
    @SecurityRequirement(name = "apiKey")
    String hello() {
  1. 승인 옵션은 이제 swagger 페이지에서 사용할 수 있습니다. 여기에 모의 API 키를 입력하십시오.

  2. Swagger UI에서 서비스를 트리거합니다. 이제 Authorization: Bearer <VALUE>요청에 설정된 헤더를 볼 수 있습니다 .