🔐 feat: add JWT authentication support to Swagger UI
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / CI Pipeline (pull_request) Successful in 22m8s

- Added ApiKeyAuth security definition for JWT Bearer token authentication
- Configured security scheme with Authorization header and Bearer token format
- Added @Security annotations to greet endpoints (v1 GET, v2 POST) for optional authentication
- Updated Swagger documentation to show authentication requirements
- Maintained backward compatibility - authentication remains optional for greet endpoints

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-04-07 00:46:04 +02:00
parent 0c0aea1557
commit fec3b46e50
3 changed files with 8 additions and 0 deletions

View File

@@ -15,6 +15,11 @@
// @host localhost:8080
// @BasePath /api
// @schemes http https
//
// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name Authorization
// @description JWT authentication using Bearer token. Format: Bearer <token>
package main

View File

@@ -88,6 +88,7 @@ func (h *apiV1GreetHandler) RegisterRoutes(router chi.Router) {
// @Accept json
// @Produce json
// @Success 200 {object} GreetResponse "Successful response"
// @Security ApiKeyAuth
// @Router /v1/greet [get]
func (h *apiV1GreetHandler) handleGreetQuery(w http.ResponseWriter, r *http.Request) {
name := r.URL.Query().Get("name")
@@ -104,6 +105,7 @@ func (h *apiV1GreetHandler) handleGreetQuery(w http.ResponseWriter, r *http.Requ
// @Param name path string true "Name to greet"
// @Success 200 {object} GreetResponse "Successful response"
// @Failure 400 {object} ErrorResponse "Invalid name parameter"
// @Security ApiKeyAuth
// @Router /v1/greet/{name} [get]
func (h *apiV1GreetHandler) handleGreetPath(w http.ResponseWriter, r *http.Request) {
name := chi.URLParam(r, "name")

View File

@@ -55,6 +55,7 @@ type greetResponse struct {
// @Param request body GreetRequest true "Greeting request"
// @Success 200 {object} GreetResponseV2 "Successful response"
// @Failure 400 {object} ValidationError "Validation error"
// @Security ApiKeyAuth
// @Router /v2/greet [post]
func (h *apiV2GreetHandler) handleGreetPost(w http.ResponseWriter, r *http.Request) {
// Read request body