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

Torsten Lodderstedt <torsten@lodderstedt.net> Sat, 17 April 2010 12:47 UTC

Return-Path: <torsten@lodderstedt.net>
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 1ED383A6B4D for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:47:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.926
X-Spam-Level:
X-Spam-Status: No, score=-1.926 tagged_above=-999 required=5 tests=[AWL=0.322, BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
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 uLvQrJEjl0qn for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:47:31 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.7]) by core3.amsl.com (Postfix) with ESMTP id E13E23A69F2 for <oauth@ietf.org>; Sat, 17 Apr 2010 05:47:30 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O37QX-0007jc-W0; Sat, 17 Apr 2010 14:47:14 +0200
Message-ID: <4BC9ADCD.4040502@lodderstedt.net>
Date: Sat, 17 Apr 2010 14:47:09 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7EEECD1.32476%eran@hueniverse.com>
In-Reply-To: <C7EEECD1.32476%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------070804030705050004090601"
X-Df-Sender: 141509
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: Sat, 17 Apr 2010 12:47:37 -0000

good question!

I see two strategies:

a) HTTP Authn Schemes are used for client authn only, this would require 
to pass user credentials as API parameters in  "Username and Password Flow"
b) like (a) except user credentials for "Username and Password Flow" are 
passed in as Authorization Header. The Benefit: applications currently 
using BASIC/DIGEST authentication can easily migrate since authn does 
not have to be changed. I see the "Username and Password Flow" primarily 
as a migration flow (as stated in 3.6.1). So an exception would be 
legitimated from my point of view. Moreover the spec could explictly 
recommend to move implementation to other flows, like web or device.

regards,
Torsten.

Am 17.04.2010 13:42, schrieb Eran Hammer-Lahav:
> How would use differentiate between the username and password profile 
> and the client credentials profile, if you are using Basic or Digest?
>
> EHL
>
>
> On 4/17/10 1:10 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:
>
>     I support the idea to use standard HTTP auth mechanisms for
>     authentication on the authorization server endpoint. From a design
>     standpoint this is just an API - which we cannot to protect via
>     OAuth tokens because it issues these tokens. But we can use HTTP
>     standard authorization mechanisms (and headers) as BASIC or DIGEST
>     to authenticate the callers. This gives implementations the option
>     to use other mechanisms (like SPNEGO or CERT). And as James
>     pointed out, there might (will in our case) other requests on this
>     endpoint used to provide additional services via other HTTP
>     methods, e.g. DELETE. Moreover, standard authn modules (as in
>     HTTPClient) can directly be used to implement access to OAuth
>     authorization servers.
>
>     I would recommend to separate functional API parameters, like
>     callback url, and authorization data.
>
>     regards,
>     Torsten.
>
>     Am 17.04.2010 06:52, schrieb Manger, James H:
>
>           Re: [OAUTH-WG] Issue: Split the authorization endpoint into
>         two endpoints
>
>
>         > This has nothing to do with it. There is no PUT and DELETE or
>         POST with non-form body when *requesting a token**.
>
>
>         *
>         It is relevant.
>
>         I don't want to authenticate direct client requests **only**
>         when they **request a token**.
>
>         Clients might make any variety of direct requests unrelated to
>         OAuth.
>
>         There might even be other OAuth-related requests from clients
>         to an authorization server in future (eg get meta data, or
>         delete a token; even refreshing a token might be better as a GET).
>
>         I want to be able to use the same client auth mechanism, and
>         same client credentials, for all these calls.
>
>         Some of these calls might be PUTs, DELETEs, non-form POSTs,
>         GETs etc. even if requesting (& refreshing) a token is always
>         a form POST.
>
>         Hence client_secret as a POST parameter when requesting a
>         token is a poor design.
>
>
>
>
>
>         It should be perfectly valid (and not uncommon I expect) for a
>         service to support OAuth for user delegation, but not use
>         OAuth for making all direct client calls token-based --- these
>         address quite different issues.
>
>         Other services might use short-term refreshable tokens when
>         clients (on their own behalf) access less trusted "content"
>         service, but will use "normal" auth when clients talk to the
>         trusted account/authorization system.
>
>
>
>