cachability of delegated identity URLs / Consumer-Server comms
Ken Horn
ken.horn at clara.co.uk
Thu Jun 9 03:25:42 PDT 2005
Hmm, I'm not sure I'm following this exactly but a couple of comments:
Certainly in the Java world, you would tend to avoid establishing a
session prior to completing authentication. Partly it's due to the fact
that existence of a session normally means you're logged in, and hence
lots of code relies on that (and having a session without an associated
identity is an error - redirect to login page etc). The other reason is
that you don't want to squander resources prior to having legitimate
users - DoS etc.
Also, if I'm reading the previous thread correctly (from Nathan), the
interaction is currently,
1) UA => consumer
2) consumer => server (but not specific to an identity, to get an
association)
3) server response --> consumer
4) consumer response --> UA
5) UA => server
6) server response --> UA (assuming the server can auto log in the user,
i'm ignoring the server specific stuff)
7) UA => consumer
at which point (all being well), the user has logged in.
If this is correct, I'm again uncomfortable with the server having to
create and store (in general) an association with the consumer (which it
has no reason to trust at this point) prior to being requested by an
authenticated (to the server) user. Maybe I've got the sequence mixed
up, but I prefer the previous DSA flow (hmm, would be nice to have a
name/number to talk about the different versions :).
If the flow above is correct, do we have a fallback if the secrets
change prior to expiry (eg server crashes, loses them, we don't want to
wait 4 hours before people can log in with new secret based tokens)? Say
if the verify fails, then the consumer should re-request the
association? Again, the DSA flow was more robust I think in this regard.
Can we change the old spec page to say it's out of date and the wiki is
the new version of the spec? Can the spec state what the difference is
between a dumb consumer and a smart one is? Is it just that a dumb one
won't do any caching? Not sure, I seem to be struggling to follow this
now - and I've been reading every email for weeks. Maybe some example
flows, including failures (invalid login, sig fails to verify, etc)
would help.
More information about the yadis
mailing list