I just wanted to check the that terrible idea I've just had is in fact terrible:
Part of the appeal that macaroons hold for me is that they avoid needing database lookups to verify authorization: if you have an appropriate token, you're authorized.
One thing I'd like to do is apply relatively short expiry dates for the macaroons and update that expiry during use. In other words, when a user successfully authorizes with macaroon A that expires in 5 minutes, I'd like to send back as part of the reply macaroon B that expires in 15.
So here's the terrible idea: If I've verified macaroon A appropriately, couldn't I mint a fresh macaroon by enumerating it's caveats into B, except that I replace the "time < ..." caveat?
Or is it better to have the client attempt to reauthenticate? I'm concerned that I may need to store credentials to do that in an acceptable manner.
Judson