The macaroon bakery

This repository is a companion to . It holds higher level operations for building systems with macaroons.

For documentation, see:

Expand ▾ Collapse ▴


Path Synopsis
bakery The bakery package layers on top of the macaroon package, providing a transport and store-agnostic way of using macaroons to assert client capabilities.
bakery/checkers The checkers package provides some standard first-party caveat checkers and some primitives for combining them.
bakery/dbrootkeystore Package dbkeystore provides the underlying basis for a bakery.RootKeyStore that uses a database as a persistent store and provides flexible policies for root key storage lifetime.
bakery/example This example demonstrates three components: - A target service, representing a web server that wishes to use macaroons for authorization.
bakery/identchecker Package identchecker wraps the functionality in the bakery package to add support for authentication via third party caveats.
bakery/internal/macaroonpb Package macaroonpb is an internal package that allows us to hide the internal serialization details of macaroon ids.
bakery/mgorootkeystore Package mgorootkeystore provides an implementation of bakery.RootKeyStore that uses MongoDB as a persistent store.
bakery/postgresrootkeystore Package postgreskeystore provides an implementation of bakery.RootKeyStore that uses Postgres as a persistent store.
bakerytest Package bakerytest provides test helper functions for the bakery.
httpbakery/agent Package agent enables non-interactive (agent) login using macaroons.
httpbakery/form Package form enables interactive login without using a web browser.
internal/httputil Package httputil holds utility functions related to net/http.