This example demonstrates three components:
- A target service, representing a web server that wishes to use macaroons for authorization. It delegates authorization to a third-party authorization server by adding third-party caveats to macaroons that it sends to the user.
- A client, representing a client wanting to make requests to the server.
- An authorization server.