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
- 보안 체계 등록
@Path("/sample")
@SecuritySchemes(value = {
@SecurityScheme(securitySchemeName = "apiKey",
type = SecuritySchemeType.HTTP,
scheme = "Bearer")}
)
public class SampleResource {
- 등록 된 체계 이름으로 작업의 보안 요구 사항을 표시합니다.
@GET
@SecurityRequirement(name = "apiKey")
String hello() {
승인 옵션은 이제 swagger 페이지에서 사용할 수 있습니다. 여기에 모의 API 키를 입력하십시오.
Swagger UI에서 서비스를 트리거합니다. 이제
Authorization: Bearer <VALUE>요청에 설정된 헤더를 볼 수 있습니다 .