Quarkus Swagger-UI-Autorisierung
Ich arbeite derzeit mit Quarkus und Swagger-UI, wie von quarkus-smallrye-openapi geliefert. Wir haben OIDC von Azure AD als Sicherheit, die derzeit von Swagger-UI nicht unterstützt wird (siehe Swagger-Docs ), daher kann ich Swagger nicht die "echte" Berechtigung hinzufügen. Dies bedeutet, dass ich Swagger nicht verwenden kann, da meine Endpunkte zumindest mit gesichert sind @RolesAllowed. Wir haben einen Endpunkt, um ein Schein-Sicherheitstoken abzurufen, aber ich weiß nicht, wie ich Swagger anweisen soll, dieses Token zu nehmen. Grundsätzlich möchte ich swagger-ui sagen "Hier habe ich dieses Token, füge es Authorization: Bearer XXXzu allen Anfragen hinzu", aber ich weiß nicht, wie ich das in Quarkus machen soll.
Antworten
- Sicherheitsschema registrieren
@Path("/sample")
@SecuritySchemes(value = {
@SecurityScheme(securitySchemeName = "apiKey",
type = SecuritySchemeType.HTTP,
scheme = "Bearer")}
)
public class SampleResource {
- Markieren Sie die Sicherheitsanforderung des Vorgangs mit dem registrierten Schemanamen.
@GET
@SecurityRequirement(name = "apiKey")
String hello() {
Die Autorisierungsoption sollte jetzt auf der Prahlerseite verfügbar sein. Geben Sie hier Ihren Mock-API-Schlüssel ein.
Lösen Sie den Dienst von swagger ui aus. Sie konnten jetzt den
Authorization: Bearer <VALUE>Header in der Anfrage sehen.