Furby is an easy and simple to use OAuth2 Token cache. Run Furby in your microservice infrastructure to move the OAuth2.0 Token management out of your services.
go build cmd/furby/furby.go
Configuration can be passed with json or yaml file by command line argument "--config" or "-c". See example configs.
---
stores:
- interval: 5 # time in minutes
path: /token # Handler path
credentials:
id: "ClientId"
scopes: []
secret: "ClientSecret"
url: "https://oauth.server/oauth2/token"
auth:
type: "noop|user-agent|header"
user-agents: [] # required if type is user-agent
header-name: "" # required if type is header
header-value: [] # required if type is header
server:
addr: ":8080" # default
cert: ""
key: ""
tls: false
Name | Value | Description |
---|---|---|
noop | --- | Default authorizer |
user-agent | User-Agents (case insensitive) | Restrict access to specified user-agents |
header | Header name and values | Restrict access by specifying own header and values |
go test -v ./...
go test -v ./... -bench=.
mockery --all
Use it in case you need some token creating software as docker compose environment but without furby in it.
docker-compose up -d hydra