This is clearly a third flow - hybrid (of user-agent and web-server) - and not just a variant of the user-agent flow. It should be presented with its own flow diagram and description. I also think the user-agent and web-server flow names are misleading. They need to be replaced with more descriptive names. Something like (I don¹t like these, just trying to demonstrate):
Web-server --> 2 step flow (get code, get token) User-agent --> direct flow (get token) Hybrid --> hybrid flow (get code and token, get token) In an attempt to accommodate Brian's request for more concentrated flow descriptions, I am working on coming up with come middle ground between -05 and -10. ---- As for the specification of the end-user authorization endpoint: Please answer this based on actual use cases. When returning parameters using the redirection URI call, which of these combinations make sense? | Code | Token | Code & Token ---------+------+-------+-------------- Fragment | a | 1 | 3 Query | 2 | b | c Split* | n/a | n/a | d * token in fragment, code in query Known use cases: 1 - current user-agent flow 2 - current web-server flow 3 - as described by Brian and Naitik Questionable use cases: a - b - c - d - current -10 code-and-token proposal EHL On 7/13/10 2:27 PM, "Naitik Shah" <n...@daaku.org> wrote: > On Tue, Jul 13, 2010 at 2:06 PM, Eran Hammer-Lahav <e...@hueniverse.com> > wrote: >> This looks reasonable, however, I am no longer see the value in the hybrid >> mode of token and code. If the code is passed in the fragment, the client has >> to pass it to the server. If that is the case, why can¹t the server reply >> back with the access token? Is the entire purpose just a performance >> optimization so the client doesn¹t have to wait for the server response >> before it has an access token? >> > > I think there are two use cases here, and they are not mutually exclusive. > Some apps are mostly just server side, and would end up doing a full page > refresh, and here the code in the query param would probably be acceptable. > Some apps are mostly just client side, and here the code is irrelevant and the > access token in the fragment is all that matters. But we also have hybrids > where we want the code in a cookie/JS callback, and we'll also use the access > token on the client to dynamically update the UI by accessing some protected > data (this is what the Data enabled XFBML tags do in the Facebook JS SDK for > instance). While the server can do the code to access_token exchange, it can't > return it to the JS safely if it does not support https. Even if it did, it > would mean more overhead for the developer to build an endpoint that does this > work and cooperates with a JS SDK which wants the access_token for making API > calls. > > > -Naitik > > _______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth