Skip to main content

Fiber as an Envoy External Authorization HTTP Service

Github StackBlitz

One way of extending the popular Envoy proxy is by developing an external authorization service.

This example illustrates using fiber and the keyauth middleware as an authorization service for a front proxy (the configuration could also be used for an L2 / Sidecar proxy). See authz.

It also uses fiber as a sample upstream service, with the following endpoints. See app.

Endpoints

NameRuteProtectedMethod
Health/healthNoGET
Resource/api/resourceYesGET

Run

docker-compose up --build -d

Test

NameCommandStatus
Not protectedcurl localhost:8000/health -i200
Missing API keycurl localhost:8000/api/resource -i403
Invalid API keycurl localhost:8000/api/resource -i -H "x-api-key: invalid-key"403
Valid API keycurl localhost:8000/api/resource -i -H "x-api-key: valid-key"200

Stop

docker-compose down