Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints

Justin Richer <jricher@mitre.org> Fri, 16 April 2010 14:05 UTC

Return-Path: <jricher@mitre.org>
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 035CB3A6954 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:05:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.999
X-Spam-Level:
X-Spam-Status: No, score=-3.999 tagged_above=-999 required=5 tests=[BAYES_50=0.001, RCVD_IN_DNSWL_MED=-4]
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 XBqAHHLluZUQ for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:05:00 -0700 (PDT)
Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org [129.83.20.191]) by core3.amsl.com (Postfix) with ESMTP id CC3D83A6BA7 for <oauth@ietf.org>; Fri, 16 Apr 2010 07:01:49 -0700 (PDT)
Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3GE1gRh016823 for <oauth@ietf.org>; Fri, 16 Apr 2010 10:01:42 -0400
Received: from imchub1.MITRE.ORG (imchub1.mitre.org [129.83.29.73]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3GE1gfJ016816; Fri, 16 Apr 2010 10:01:42 -0400
Received: from [129.83.50.65] (129.83.50.65) by imchub1.MITRE.ORG (129.83.29.73) with Microsoft SMTP Server id 8.2.213.0; Fri, 16 Apr 2010 10:01:41 -0400
From: Justin Richer <jricher@mitre.org>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 16 Apr 2010 10:01:41 -0400
Message-ID: <1271426501.12417.1475.camel@localhost.localdomain>
MIME-Version: 1.0
X-Mailer: Evolution 2.28.1
Content-Transfer-Encoding: 7bit
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
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, 16 Apr 2010 14:05:01 -0000

I favor this approach as well. It feels cleaner to me to have a
separation of purposes here. The two endpoints could always be collapsed
in a particular implementation -- I've seen several OAuth 1.0
implementations that do just this, using a URL parameter to
differentiate between the request, access, and authorization endpoints. 

Having them available separately makes it easier to have different
authentication mechanisms to the endpoints themselves, as well. The
authorization endpoint is (generally) user-credential protected, but the
token endpoint will be authenticated differently depending on which
flows are supported. However, I will say that in most webapp systems,
you can always have the OAuth endpoint forward internally to another
endpoint if user authentication is necessary, so this argument may not
hold up in practical deployment.

Downside is that it does make discovery a little trickier, but discovery
is admittedly outside the scope of this protocol.

 -- justin

On Thu, 2010-04-15 at 21:22 -0400, Manger, James H wrote:
> I strongly favour specifying 2 separate endpoints: one for where to redirect a user, another for direct client calls.
> 
> I agree with Marius that these two endpoints are different enough to be separate.
> One is only used by users via browsers. The other is only used by client apps. These are different populations, using different authentication mechanisms, with different performance requirements, and different technologies.
> 
> The use of a type parameter is a poor tool to distinguishes these cases.
> 
> I guess 1 URI could default to the other if not defined.
> 1 URI could be allowed to be relative to the other to save some bytes.
>