Autorisation Quarkus Swagger-UI
Je travaille actuellement avec Quarkus et Swagger-UI tels que fournis par quarkus-smallrye-openapi. Nous avons OIDC d'Azure AD comme sécurité, qui n'est actuellement pas pris en charge par Swagger-UI (voir Swagger-Docs ), donc je ne peux pas ajouter la "vraie" autorisation à swagger. Cela signifie que je ne peux pas utiliser Swagger car mes points de terminaison sont au moins sécurisés avec @RolesAllowed. Nous avons un point de terminaison pour récupérer un jeton de sécurité simulé, mais je ne sais pas comment dire à Swagger de prendre ce jeton. En gros, je veux dire à swagger-ui "Ici, j'ai ce jeton, ajoutez-le Authorization: Bearer XXXà toutes les demandes", mais je ne sais pas comment faire cela dans Quarkus.
Réponses
- Enregistrer le schéma de sécurité
@Path("/sample")
@SecuritySchemes(value = {
@SecurityScheme(securitySchemeName = "apiKey",
type = SecuritySchemeType.HTTP,
scheme = "Bearer")}
)
public class SampleResource {
- Marquez l'exigence de sécurité de l'opération avec le nom du schéma enregistré.
@GET
@SecurityRequirement(name = "apiKey")
String hello() {
L'option Autoriser devrait maintenant être disponible sur la page swagger. Entrez votre clé API fictive ici.
Déclenchez le service à partir de swagger ui. Vous pouvez maintenant voir l'en-
Authorization: Bearer <VALUE>tête défini dans la requête.