Autoryzacja Quarkus Swagger-UI

Oct 01 2020

Obecnie pracuję z Quarkus i Swagger-UI dostarczanymi przez quarkus-smallrye-openapi. Mamy OIDC z usługi Azure AD jako zabezpieczenie, które obecnie nie jest obsługiwane przez Swagger-UI (zobacz Swagger-Docs ), więc nie mogę dodać „prawdziwej” autoryzacji do Swagger . Oznacza to, że nie mogę używać Swaggera, ponieważ moje punkty końcowe są przynajmniej zabezpieczone @RolesAllowed. Mamy punkt końcowy do pobrania fałszywego tokena bezpieczeństwa, ale nie wiem, jak powiedzieć swaggerowi, aby wziął ten token. Zasadniczo chcę powiedzieć swagger-ui "Tutaj mam ten token, dodaj go jak Authorization: Bearer XXXdo wszystkich żądań", ale nie wiem, jak to zrobić w Quarkusie.

Odpowiedzi

7 Haroon Oct 06 2020 at 12:18
  1. Zarejestruj schemat bezpieczeństwa
@Path("/sample")
@SecuritySchemes(value = {
        @SecurityScheme(securitySchemeName = "apiKey", 
                        type = SecuritySchemeType.HTTP,
                        scheme = "Bearer")}
)
public class SampleResource {
  1. Oznacz wymaganie bezpieczeństwa operacji zarejestrowaną nazwą schematu.
    @GET
    @SecurityRequirement(name = "apiKey")
    String hello() {
  1. Opcja autoryzacji powinna być teraz dostępna na stronie swagger. Wpisz tutaj swój fałszywy klucz api.

  2. Uruchom usługę z interfejsu Swagger UI. Możesz teraz zobaczyć Authorization: Bearer <VALUE>nagłówek ustawiony w żądaniu.