Re: [OAUTH-WG] Add an option to authorization endpoint to force end-user re-authentication

Luke Shepard <lshepard@facebook.com> Fri, 25 June 2010 04:29 UTC

Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BAC123A67E2 for <oauth@core3.amsl.com>; Thu, 24 Jun 2010 21:29:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.286
X-Spam-Level:
X-Spam-Status: No, score=-0.286 tagged_above=-999 required=5 tests=[AWL=-0.785, BAYES_50=0.001, HELO_MISMATCH_COM=0.553, HOST_MISMATCH_NET=0.311, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1, SARE_WEOFFER=0.3]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dIlDOG3aK0T6 for <oauth@core3.amsl.com>; Thu, 24 Jun 2010 21:29:58 -0700 (PDT)
Received: from mx-out.facebook.com (outmail005.ash1.tfbnw.net [69.63.184.105]) by core3.amsl.com (Postfix) with ESMTP id AF7DE3A6768 for <oauth@ietf.org>; Thu, 24 Jun 2010 21:29:57 -0700 (PDT)
Received: from [10.18.255.121] ([10.18.255.121:53229] helo=mail.thefacebook.com) by mta004.ash1.facebook.com (envelope-from <lshepard@facebook.com>) (ecelerity 2.2.2.45 r(34067)) with ESMTP id 37/90-26055-DC0342C4; Thu, 24 Jun 2010 21:30:06 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.694.1; Thu, 24 Jun 2010 21:30:03 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.100]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Thu, 24 Jun 2010 21:30:02 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Colin Snover <ietf.org@zetafleet.com>
Date: Thu, 24 Jun 2010 21:30:01 -0700
Thread-Topic: [OAUTH-WG] Add an option to authorization endpoint to force end-user re-authentication
Thread-Index: AcsUHxPzPIejIM2JRpWB8TxKZ1Dxyw==
Message-ID: <DFE12F2D-8F71-497A-B7F5-7E69F857E3F8@facebook.com>
References: <4C242B7C.7040002@zetafleet.com>
In-Reply-To: <4C242B7C.7040002@zetafleet.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Add an option to authorization endpoint to force end-user re-authentication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Jun 2010 04:30:00 -0000

Hey Colin

You're right; this can be an interesting issue. It's very tied up in identity - if you are talking about connecting accounts (like you would with Facebook) then there's a layer missing from OAuth that provides the identity on top of it. At the moment, there are a few proposals (for instance, OpenID Connect) which distinguish between an immediate request (which returns immediately) vs a regular request (which does not). 

For now, I think the right behavior is for the client to give the user a chance to switch accounts. That means the identity layer needs to offer a way to log out as well as authorize ( see http://www.sociallipstick.com/?p=189 for more thoughts on this). If you are using Facebook, we offer a custom way to log the user out (http://developers.facebook.com/docs/reference/javascript/FB.logout ).

In any case, Facebook will likely add this layer on top of OAuth once it becomes a little more settled. There has been a lot of discussion on this list lately about exactly what form that should take.

Does that answer the question?


On Jun 24, 2010, at 9:07 PM, Colin Snover wrote:

> Hi everyone,
> 
> I apologise if this has been discussed previously; I searched the list 
> and did not see anything about it.
> 
> I have been working extensively with OAuth as a client author. A big 
> limitation that we are consistently running into with the way OAuth 
> currently works is that there is no way to tell the authorization server 
> that it needs to ask which end-user is requesting access.
> 
> In instances where an end-user may have more than one account on a 
> single provider, or where multiple end-users share the same computer, a 
> problem occurs when the provider assumes that the account currently 
> logged-in in the user-agent is the one that the end-user wants to 
> connect. This assumption, while useful in most cases, causes major 
> problems and a very frustrating user experience when the client has 
> previously been authorised for the logged-in account and the provider 
> immediately redirects back with an access token. In these cases, the 
> user has no ability to choose to authorize a different account unless 
> they manually log out of the provider’s site first or revoke 
> authorization from the provider’s site.
> 
> We need a way for the client to tell the authorization server “please do 
> not automatically assume that the account currently logged-in is the 
> account that we are requesting access for”. I would propose adding a new 
> optional query component to the end-user authorization endpoint, 
> force_auth. When this query component exists and is equal to 1, a 
> provider MUST ask for the user’s credentials before either automatically 
> redirecting back (if the client is already authorized) or presenting 
> them with the prompt for authorization.
> 
> Thank you for your time and consideration of this matter. I hope this 
> feature or something similar can make it into OAuth 2, since otherwise 
> we are going to have huge headaches and may end up needing to resort to 
> cross-site request forgery to force user-agents to log out of provider 
> sites. If I have been unclear at all, please let me know and I will be 
> happy to clarify.
> 
> Regards,
> 
> -- 
> Colin Snover
> http://zetafleet.com
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth