Autorização Quarkus Swagger-UI
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
- Registrar esquema de segurança
@Path("/sample")
@SecuritySchemes(value = {
@SecurityScheme(securitySchemeName = "apiKey",
type = SecuritySchemeType.HTTP,
scheme = "Bearer")}
)
public class SampleResource {
- Marque o requisito de segurança da operação com o nome do esquema registrado.
@GET
@SecurityRequirement(name = "apiKey")
String hello() {
A opção de autorização deve estar agora disponível na página swagger. Digite sua chave de API simulada aqui.
Acione o serviço do swagger ui. Agora você pode ver o
Authorization: Bearer <VALUE>cabeçalho definido na solicitação.