Autorização Quarkus Swagger-UI

Oct 01 2020

Atualmente estou trabalhando com o Quarkus e o Swagger-UI fornecidos pelo quarkus-smallrye-openapi. Temos OIDC do Azure AD como segurança, que atualmente não é compatível com Swagger-UI (consulte Swagger-Docs ), portanto, não posso adicionar a autorização "real" para swagger. Isso significa que não posso usar o Swagger, pois meus terminais são pelo menos protegidos com @RolesAllowed. Temos um ponto de extremidade para buscar um token de segurança simulado, mas não sei como dizer a swagger para pegar esse token. Basicamente, eu quero dizer a swagger-ui "Aqui, eu tenho este token, adicione-o Authorization: Bearer XXXa todas as solicitações", mas não sei como fazer isso no Quarkus.

Respostas

7 Haroon Oct 06 2020 at 12:18
  1. Registrar esquema de segurança
@Path("/sample")
@SecuritySchemes(value = {
        @SecurityScheme(securitySchemeName = "apiKey", 
                        type = SecuritySchemeType.HTTP,
                        scheme = "Bearer")}
)
public class SampleResource {
  1. Marque o requisito de segurança da operação com o nome do esquema registrado.
    @GET
    @SecurityRequirement(name = "apiKey")
    String hello() {
  1. A opção de autorização deve estar agora disponível na página swagger. Digite sua chave de API simulada aqui.

  2. Acione o serviço do swagger ui. Agora você pode ver o Authorization: Bearer <VALUE>cabeçalho definido na solicitação.