I can live with SHOULD.
> -----Original Message----- > From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] > On Behalf Of Eran Hammer-Lahav > Sent: Tuesday, July 13, 2010 10:30 AM > To: Colin Snover; David Recordon > Cc: OAuth WG > Subject: Re: [OAUTH-WG] ' force_auth' request parameter > > > > > On 7/13/10 10:24 AM, "Colin Snover" <ietf....@zetafleet.com> wrote: > > > The problem I see with pushing this up into an identity > layer is > > that providers that choose to implement their own identity > layer (or > > no identity > > layer) may still end up doing this implicit authorization > thing. We¹re > > neither providing a specific identity to connect nor are we > requesting > > identity information from the provider<we simply want to make sure > > that the provider is not re-using any previous authorizations (a > > session cookie is just an authorization key by another > name), because > > doing so leads to the scenarios I¹ve written about (and > probably others that I have not considered). > > > > Under an authorization system that did not require the use > of a Web > > browser, I would agree much more strongly with the notion that this > > should be part of a separate layer, but the problem is that > the spec > > *does* utilize Web browsers heavily, and so we need to make > > considerations for the spec keeping that in mind. > > > > To address Eran¹s concern about overstepping bounds, perhaps the > > language could be changed from MUST to SHOULD, which would > leave it up > > to the provider to make the ultimate decision whilst still > being in compliance with the spec? > > I certainly don¹t want to step on any toes in that regard, > but I also > > don¹t want providers to think they can ignore this just > because it¹s a > > little easier to do so. > > A SHOULD directive works better with an extension than core. > Inclusion in core means it is, well, core... > > EHL > > > Regards, > > > > > > On 13/07/2010 11:57, David Recordon wrote: > >> I support immediate and a form of forced auth (ala > OpenID's PAPE) but > >> not in the core spec. They both should be part of an > identity extension. > >> > >> > >> > >> On Tue, Jul 13, 2010 at 9:51 AM, William Mills > <wmi...@yahoo-inc.com> wrote: > >> > >>> > >>> > >>> I agree with Colin that some form of force_auth is needed. I > >>> haven't read enough on the "immediate" proposal, but I > know that we > >>> have run into the problem of trusting currently set > cookies in the > >>> browser (even when we're actually sending a username/password and > >>> really do want to have an authentication). > >>> > >>> > >>> > >>> I'm a +1 on the force_auth proposal. > >>> > >>> > >>>> > >>>> > >>>> > >>>> From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On > >>>> Behalf Of Colin Snover > >>>> Sent: Tuesday, July 13, 2010 9:23 AM > >>>> To: Eran Hammer-Lahav > >>>> Cc: OAuth WG > >>>> Subject: Re: [OAUTH-WG] ' force_auth' request parameter > >>>> > >>>> > >>>> > >>>> > >>>> On 22/07/28164 13:59, Eran Hammer-Lahav wrote: > >>>>> The following was submitted via the shared-copy page > but does not > >>>>> belong with editorial feedback. This needs to be discussed and > >>>>> supported on the list before added the specification. I > think it > >>>>> belongs where Oimmediate¹ is specified. > >>>>> > >>>>> EHL > >>>>> > >>>>> ------ Forwarded Message > >>>>> > >>>>>> From: An anonymous reader <mail...@sharedcopy.com > >>>>>> <http://mail...@sharedcopy.com> > > >>>>>> Date: Sat, 10 Jul 2010 11:01:11 -0700 > >>>>>> To: Eran Hammer-Lahav <e...@hueniverse.com > >>>>>> <http://e...@hueniverse.com> > >>>>>> > > >>>>>> Subject: Re: draft-ietf-oauth-v2-09 - The OAuth 2.0 Protocol > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>>> "Colin Snover" left these comments on your copy: > >>>>>> > >>>>>> draft-ietf-oauth-v2-09 - The OAuth 2.0 Protocol > >>>>>> <http://r6.sharedcopy.com/6bnqq8v> > >>>>>> > >>>>>> > >>>>>> As proposed on the ML, a new parameter to counteract the > >>>>>> current behaviour of OAuth 1.0a authorization servers > which is to > >>>>>> assume that the account logged into the user-agent is > the account > >>>>>> that should be checked for access: > >>>>>> > >>>>>> force_auth > >>>>>> OPTIONAL. The parameter value must be set to > "true" or "false". > >>>>>> > >>>>>> If set to "true", the authorization server > MUST prompt > >>>>>> the end-user to authenticate and approve access. The > >>>>>> authorization server MUST NOT make any assumptions as to the > >>>>>> identity of the entity requesting access, even if > another automatic mechanism is available to do so (e.g. > >>>>>> browser cookies). > >>>>>> > >>>>>> If set to "false" or not present, the authorization > >>>>>> server MAY automatically grant access to the client if > it is able > >>>>>> to determine that access was previously granted. > link » > >>>>>> <http://r6.sharedcopy.com/6bnqq8v#shcp21> > >>>>>> > >>>>>> > >>>>>> tools.ietf.org/html/draft-ietf-oauth-v2-09 > >>>>>> <http://tools.ietf.org/html/draft-ietf-oauth-v2-09> > >>>>>> <http://r6.sharedcopy.com/6bnqq8v> · Original page > >>>>>> <http://tools.ietf.org/html/draft-ietf-oauth-v2-09> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> via sharedcopy.com <http://sharedcopy.com> > >>>>>> <http://sharedcopy.com/?ef> > >>>>>> > >>>>>> > >>>>> > >>>>> ------ End of Forwarded Message > >>>>> > >>>> > >>>> Hi Eran, > >>>> > >>>> Sorry if that was not the right place for that to go; I didn¹t > >>>> know what else to do. I have tried to solicit feedback > from the ML > >>>> regarding this parameter twice and nobody seems very keen in > >>>> providing any, which is kind of a bummer. I waited until > the last > >>>> possible moment to add it in the hopes that someone > would notice my > >>>> messages and discuss it, but you made it sound like your > plan was > >>>> for draft 10 to be potentially final so I wanted to get > it in before the deadline. > >>>> > >>>> I¹m sure this is not a big deal for most applications > that expect > >>>> at most a single connection, but for me this is a huge > deal since > >>>> it completely immolates our application¹s authentication > flow, and > >>>> I can¹t go to every provider asking them to please > change the way > >>>> they implement the authentication portion of their OAuth API. > >>>> > >>>> In contrast to Oimmediate¹, which had some concerns vis à vis > >>>> security, force_auth is actually safer than the current > normal flow > >>>> used by most OAuth providers since it requires the > provider to make > >>>> no guesses about who is trying to authorize the app. > >>>> > >>>> Frankly, I think that OAuth providers do the wrong thing now in > >>>> all cases by assuming that browser cookies are a safe way of > >>>> confirming the identity of the end-user making an authorization > >>>> request (they aren¹t!), but the spec says the way the > authorization > >>>> server authenticates the end-user is outside the scope > of the spec. > >>>> I have no objection to this<OAuth *should* be > >>>> authentication-agnostic<but at the same time this is a very real > >>>> and present implementation flaw and the only way to > solve it is to > >>>> make sure the spec defines a way for an application to > say ³hey, I > >>>> know you *think* you know who should be authenticated, > but *I* know > >>>> that the user has requested to connect a *new* account, > so don¹t use any automatic authentication method². > >>>> > >>>> I think it is incredibly important that the OAuth spec gets > >>>> providers to distinguish between automatic & potentially unsafe > >>>> authentication methods (like session cookies) versus more > >>>> ³guaranteed² authentication (like password), especially since > >>>> 99.999% of the time OAuth relies on the end-user¹s Web browser > >>>> which is all but guaranteed to contain some cookies for > the provider that are unrelated to the requesting application. > >>>> > >>>> Examples: > >>>> > >>>> 1. Multiple end-users with malicious intent. User 1 is > logged into > >>>> their Facetweetr account. User 2 wants to do bad things > using User 1¹s account. > >>>> Because the user-agent has cookies for user 1, user 2 gets to > >>>> authorize their account with our app. Even when user 1 changes > >>>> their password, unless the provider automatically > invalidates their > >>>> existing connections (the spec does not even mention > doing this in > >>>> an informative manner as far as I can tell), they are almost > >>>> certainly unaware that the linked application is still > able to perform actions on their behalf. > >>>> > >>>> 2. Single end-user with multiple accounts. User is logged into > >>>> Facetweetr account 1, but they want to authorize account > 2. They go > >>>> to authorize the application and are presented with a > confirmation > >>>> for account 1. They log out (because this is the only > way to switch > >>>> accounts on the provider) and suddenly the authorization flow is > >>>> dropped on the floor. The user may not know immediately > what they > >>>> need to do at this point. They will need to manually > return to the > >>>> original application and restart the authorization request. > >>>> > >>>> 3. User has two accounts that they want to authorize with a > >>>> provider. User authorizes account 1 successfully, then > wants to authorize account 2. > >>>> Because account 1 is still logged in, and because the > application > >>>> already has a link to the account, it automatically > redirects back > >>>> to the application¹s redirection URI. In order for the > user to get > >>>> what they want, they are forced to manually navigate to the > >>>> provider¹s site, log out, > >>>> *then* begin the authorization request. > >>>> > >>>> These aren¹t imaginary scenarios; they are things that > are going > >>>> on *right > >>>> now* with several different OAuth providers. > >>>> > >>>> The original request: > >>>> <http://www.mail-archive.com/oauth@ietf.org/msg02331.html> > >>>> > >>>> Regards, > >>>> > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth > _______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth