We wrote our own. Partly this was due to concerns over quality, and partly because the way this integrates into OAuth doesn’t fit well with the interface of existing libraries.
We wanted to make the use of macaroons largely transparent for existing OAuth deployments, so the token introspection endpoint returns a response that aggregates information from the token adjusted by any caveats. For example, the “scope” field returned is the intersection of the original token scope and any scope caveats. The way this works is the validation method in our library returns a list of unsatisfied caveats (including from discharge macaroons). We then run through those picking out the ones we know (scope, exp, etc) and finding the “minimum” according to some specific criteria (intersection for scope and audience, earliest for expiry time, etc). Any unrecognised caveats get output as an array of strings on the end of the response.
I’ll try and write up a more detailed description when I get a chance.
Unfortunately our library is not open source for now, but hopefully that will change.
Neil
> On 30 Jul 2020, at 13:26, Akram Shehadi <
akram....@gmail.com> wrote:
>
> Interesting article. Thanks for sharing.
>
> Out of curiosity, did you roll out your own Macaroons library or used one of the available ones? last time I checked some years ago I wasn't entierly sure there were production-ready ones.
>
> --
> You received this message because you are subscribed to the Google Groups "Macaroons" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
macaroons+...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/macaroons/44e9448e-5e11-4bbc-bd62-e2c621e6bb7co%40googlegroups.com.