--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z0rP%2Bm91UjAqGNZKr%3DQs_zhc2rYakjQzvXptHK368HULA%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAGC3UEkcEZj4Xd4wz8RvdCjZfV-WRdOgVmm5X70YR-dd5CycSg%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z1Oj1oTZBrdsyoPW-bmnz4rPbQaMfPkLvtfwa2X8nFw3w%40mail.gmail.com.
On 04/08/2025 18:06, Alan Karp wrote:
Is there a reason you didn't continue the discussion on cap-talk?
On Sun, Aug 3, 2025 at 2:14 PM David Chadwick <d.w.ch...@truetrust.co.uk> wrote:Because you can invoke a method with one capability granted to you and another capability delegated to you by whoever invoked you.You are missing the point. The requestor sends a bunch of VCs to the gatekeeper asking for access to resource X, who, in your case gets a capability back. The requestor then sends this capability to X to access the resource and gets the result back. In my case, the gatekeeper accesses resource X and returns the result back to the requestor. This is more efficient.
So there is no confused deputy in either case, or there is in both cases. There is no difference except in efficiency
What if X is something that Alice has asked the requestor to access?Alan, please access the bank and send me the money. Does this sound like something you would do for me? I think not.
The access decision is based on the requestor's credentials, not Alice's. In many cases, you want the requestor to forward the result to Alice, e.g., a web server, but there are times when the decision should be based on Alice's credentials, not the requestor's. While there are many checks you can do to prevent the error, it's a hazard that you must deal with.There are lots of scenarios we can think of where users can do dumb (or illegal) things, or programmers can program in errors by mistake. You cannot avoid this. You are simply specifying one of them.
--------------
Alan Karp