Autoryzacja Quarkus Swagger-UI
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
- Zarejestruj schemat bezpieczeństwa
@Path("/sample")
@SecuritySchemes(value = {
@SecurityScheme(securitySchemeName = "apiKey",
type = SecuritySchemeType.HTTP,
scheme = "Bearer")}
)
public class SampleResource {
- Oznacz wymaganie bezpieczeństwa operacji zarejestrowaną nazwą schematu.
@GET
@SecurityRequirement(name = "apiKey")
String hello() {
Opcja autoryzacji powinna być teraz dostępna na stronie swagger. Wpisz tutaj swój fałszywy klucz api.
Uruchom usługę z interfejsu Swagger UI. Możesz teraz zobaczyć
Authorization: Bearer <VALUE>nagłówek ustawiony w żądaniu.