Skip to content

Commit

Permalink
Add security scheme
Browse files Browse the repository at this point in the history
  • Loading branch information
SafeEval committed Jul 23, 2024
1 parent 2f554fb commit ec84ca6
Showing 1 changed file with 21 additions and 3 deletions.
24 changes: 21 additions & 3 deletions web/openapi.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,39 @@ package web
import (
"fmt"

"github.com/divergentcodes/jwt-block/internal/core"
"github.com/swaggest/openapi-go/openapi3"
)

// Generate the OpenAPI spec for the service.
func GenerateOpenAPI(format string) (string, error) {
reflector := openapi3.Reflector{}

// Basic info.
reflector.Spec = &openapi3.Spec{
Openapi: "3.0.3",
}
reflector.Spec.Info.
WithTitle("JWT Block").
WithVersion(core.Version).
WithDescription("API of the JWT Block service")

// Base URL.
server := openapi3.Server{
URL: "http://jwtblock.localhost",
}
reflector.Spec.Servers = append(reflector.Spec.Servers, server)

// Declare security scheme.
securityName := "bearer_token"
reflector.SpecEns().SetHTTPBearerTokenSecurity(securityName, "JWT", "Access token")
securityName := "bearerToken"
reflector.Spec.SetHTTPBearerTokenSecurity(securityName, "JWT", "Access token")
reflector.Spec.WithSecurity(map[string][]string{securityName: {}})

// Endpoints
// Endpoints.
blockGenerateOpenAPI(&reflector)
checkGenerateOpenAPI(&reflector)

// Dump the schema.
var schema []byte
var err error
if format == "json" {
Expand Down

0 comments on commit ec84ca6

Please sign in to comment.