Otorisasi Quarkus Swagger-UI
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
- Daftarkan skema keamanan
@Path("/sample")
@SecuritySchemes(value = {
@SecurityScheme(securitySchemeName = "apiKey",
type = SecuritySchemeType.HTTP,
scheme = "Bearer")}
)
public class SampleResource {
- Tandai persyaratan keamanan operasi dengan nama skema yang terdaftar.
@GET
@SecurityRequirement(name = "apiKey")
String hello() {
Opsi otorisasi sekarang tersedia di halaman kesombongan. Masukkan kunci api tiruan Anda di sini.
Picu layanan dari ui kesombongan. Anda sekarang bisa melihat
Authorization: Bearer <VALUE>header disetel dalam permintaan.