Quarkus Swagger-UI-Autorisierung

Oct 01 2020

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

7 Haroon Oct 06 2020 at 12:18
  1. Sicherheitsschema registrieren
@Path("/sample")
@SecuritySchemes(value = {
        @SecurityScheme(securitySchemeName = "apiKey", 
                        type = SecuritySchemeType.HTTP,
                        scheme = "Bearer")}
)
public class SampleResource {
  1. Markieren Sie die Sicherheitsanforderung des Vorgangs mit dem registrierten Schemanamen.
    @GET
    @SecurityRequirement(name = "apiKey")
    String hello() {
  1. Die Autorisierungsoption sollte jetzt auf der Prahlerseite verfügbar sein. Geben Sie hier Ihren Mock-API-Schlüssel ein.

  2. Lösen Sie den Dienst von swagger ui aus. Sie konnten jetzt den Authorization: Bearer <VALUE>Header in der Anfrage sehen.