Otorisasi Quarkus Swagger-UI

Oct 01 2020

Saat ini saya bekerja dengan Quarkus dan Swagger-UI seperti yang disampaikan oleh quarkus-smallrye-openapi. Kami memiliki OIDC dari Azure AD sebagai keamanan, yang saat ini tidak didukung oleh Swagger-UI (lihat Swagger-Docs ), jadi saya tidak dapat menambahkan otorisasi "nyata" ke swagger. Ini berarti, saya tidak dapat menggunakan Swagger karena titik akhir saya setidaknya aman @RolesAllowed. Kami memiliki titik akhir untuk mengambil token keamanan tiruan, tetapi saya tidak tahu bagaimana cara memberi tahu kesombongan untuk mengambil token ini. Pada dasarnya saya ingin memberi tahu swagger-ui "Di sini, saya memiliki token ini, tambahkan Authorization: Bearer XXXke semua permintaan", tetapi saya tidak tahu bagaimana melakukannya di Quarkus.

Jawaban

7 Haroon Oct 06 2020 at 12:18
  1. Daftarkan skema keamanan
@Path("/sample")
@SecuritySchemes(value = {
        @SecurityScheme(securitySchemeName = "apiKey", 
                        type = SecuritySchemeType.HTTP,
                        scheme = "Bearer")}
)
public class SampleResource {
  1. Tandai persyaratan keamanan operasi dengan nama skema yang terdaftar.
    @GET
    @SecurityRequirement(name = "apiKey")
    String hello() {
  1. Opsi otorisasi sekarang tersedia di halaman kesombongan. Masukkan kunci api tiruan Anda di sini.

  2. Picu layanan dari ui kesombongan. Anda sekarang bisa melihat Authorization: Bearer <VALUE>header disetel dalam permintaan.