Re: [OAUTH-WG] treatment of client_id for authentication and identification

Torsten Lodderstedt <torsten@lodderstedt.net> Thu, 28 July 2011 14:24 UTC

Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E13121F8C25 for <oauth@ietfa.amsl.com>; Thu, 28 Jul 2011 07:24:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.118
X-Spam-Level:
X-Spam-Status: No, score=-2.118 tagged_above=-999 required=5 tests=[AWL=0.130, BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HW3luSzmJ-9T for <oauth@ietfa.amsl.com>; Thu, 28 Jul 2011 07:24:42 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.28]) by ietfa.amsl.com (Postfix) with ESMTP id 1329321F8C1B for <oauth@ietf.org>; Thu, 28 Jul 2011 07:24:41 -0700 (PDT)
Received: from [130.129.17.214] by smtprelay01.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1QmRVv-00059T-PB; Thu, 28 Jul 2011 16:24:40 +0200
Message-ID: <4E317125.7080006@lodderstedt.net>
Date: Thu, 28 Jul 2011 10:24:37 -0400
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20110624 Thunderbird/5.0
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <CA55E10E.17514%eran@hueniverse.com>
In-Reply-To: <CA55E10E.17514%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------080409060009000203060300"
X-Df-Sender: torsten@lodderstedt-online.de
Cc: oauth <oauth@ietf.org>
Subject: Re: [OAUTH-WG] treatment of client_id for authentication and identification
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Thu, 28 Jul 2011 14:24:43 -0000

the client_id parameter had been added to the token endpoint in -16. As 
far as I remember, the reason was to properly separate client 
identification and authentication in order to support further client 
authentication methods.

quote from 
"http://www.ietf.org/mail-archive/web/oauth/current/msg06346.html":
"The goal is a cleaner protocol design. The protocol design separates 
client identification as part of the flow (URI parameter) and originator 
authentication. While the client_id parameter is required, the 
authentication can be omitted (unauthenticated access) or performed 
using other authentication mechanisms. And such mechanisms not 
neccessarily use client_id's. Moreover, the spec just says, "The 
authorization server MUST ensure the two identifiers belong to the same 
client". So the client_id's (request parameter and header) may differ. "

You removed the parameter in -17, can you please explain why?

regards,
Torsten.

Am 27.07.2011 18:45, schrieb Eran Hammer-Lahav:
> There is not clean way of adding it.
>
> First where? In each flow of the token endpoint or just in 3.2? Then 
> how is it defined? Optional? Required for public clients? How does it 
> work alongside authentication? If you use client_password or Basic 
> then it becomes authentication but otherwise identification? What 
> about duplication between Basic and the parameter? It also means 
> adding a new section discussing client authentication vs 
> identification which is currently implicit.
>
> I strongly believe that it is better to have a simple model as the one 
> already defined in –20 and let other use case find their way around it 
> instead of producing a confusing document that is trying to hard to 
> solve every possible combination.
>
> As I said before, we can tweak the definition of client_secret to make 
> it more esthetically pleasing (the server doesn't mind having an empty 
> parameter included, just people), but that's as far am I'm (as wg 
> member) willing to support, especially at this point.
>
> EHL
>
>
> From: Torsten Lodderstedt <torsten@lodderstedt.net 
> <mailto:torsten@lodderstedt.net>>
> Date: Wed, 27 Jul 2011 15:21:16 -0700
> To: Brian Campbell <bcampbell@pingidentity.com 
> <mailto:bcampbell@pingidentity.com>>
> Cc: Eran Hammer-lahav <eran@hueniverse.com 
> <mailto:eran@hueniverse.com>>, oauth <oauth@ietf.org 
> <mailto:oauth@ietf.org>>
> Subject: Re: [OAUTH-WG] treatment of client_id for authentication and 
> identification
>
>     I personally think that would be more confusing than just adding the
>     client_id parameter to the token endpoint request (independent of
>     client
>     authentication credentials).
>
>     Am 27.07.2011 18:17, schrieb Brian Campbell:
>
>         I think that would be helpful, thanks.
>
>
>         On Wed, Jul 27, 2011 at 12:43 PM, Eran
>         Hammer-Lahav<eran@hueniverse.com
>         <mailto:eran@hueniverse.com>>  wrote:
>
>             If you want, we can tweak section 2.4.1 to make
>             client_secret optional if
>             the secret is the empty string. That will give you exactly
>             what you want
>             without making the document any more confusing.
>             EHL
>
>