Re: [OAUTH-WG] treatment of client_id for authentication and identification
Eran Hammer-Lahav <eran@hueniverse.com> Wed, 27 July 2011 16:09 UTC
Return-Path: <eran@hueniverse.com>
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 8BDE521F8AFF for <oauth@ietfa.amsl.com>; Wed, 27 Jul 2011 09:09:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.558
X-Spam-Level:
X-Spam-Status: No, score=-2.558 tagged_above=-999 required=5 tests=[AWL=0.040, BAYES_00=-2.599, 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 HjRdOsNxqHcW for <oauth@ietfa.amsl.com>; Wed, 27 Jul 2011 09:09:18 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by ietfa.amsl.com (Postfix) with SMTP id 6A38521F8B11 for <oauth@ietf.org>; Wed, 27 Jul 2011 09:09:18 -0700 (PDT)
Received: (qmail 6498 invoked from network); 27 Jul 2011 16:09:18 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 27 Jul 2011 16:09:17 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 27 Jul 2011 09:09:10 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Campbell <bcampbell@pingidentity.com>
Date: Wed, 27 Jul 2011 09:08:59 -0700
Thread-Topic: [OAUTH-WG] treatment of client_id for authentication and identification
Thread-Index: AcxMd4R6pcBSZpDhQ16BrrauZTkC4Q==
Message-ID: <CA558457.17485%eran@hueniverse.com>
In-Reply-To: <CA+k3eCQUDR2HXTMqtksXyk5tCSb15wZterow6nw12BhFS0VM1w@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.12.0.110505
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_CA55845717485eranhueniversecom_"
MIME-Version: 1.0
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: Wed, 27 Jul 2011 16:09:19 -0000
The way I've set it up in –18 is that the client_id parameter in the authorization endpoint is used to identify the client registration record. The identifier is described in section 2.3. Then in section 2.4.1 the parameter is "extended" for use with the token endpoint for client authentication when Basic is not available. So the idea is that the only place you should be using client_id is with the authorization endpoint to reference the client registration information (needed to lookup the redirection URI). I have argued in the past that a future extension to remove the need to register clients should make this parameter optional but that's outside our current scope. The token endpoint performs client authentication instead of "client identification" using the client identifier as username. Hope this helps. EHL From: Brian Campbell <bcampbell@pingidentity.com<mailto:bcampbell@pingidentity.com>> Date: Wed, 27 Jul 2011 04:32:42 -0700 To: Eran Hammer-lahav <eran@hueniverse.com<mailto:eran@hueniverse.com>> Cc: oauth <oauth@ietf.org<mailto:oauth@ietf.org>> Subject: Re: [OAUTH-WG] treatment of client_id for authentication and identification Okay, looking at some of those drafts again, I see that now. Except for -16 they are all pretty similar on client_id back to -10. Apparently it was my misunderstanding. Maybe I'm the only one who doesn't get it but I do think it could be clearer. I'd propose some text but I'm still not fully sure I understand what is intended. If a client doesn't have a secret, is client_id a SHOULD NOT, a MUST NOT or OPTIONAL to be included on token endpoint requests? Here's a specific question/example to illustrate my continued confusion - it would seem like the majority of clients that would use the Resource Owner Password Credentials grant (although 4.3.2 shows the use of HTTP Basic) would be "public" clients. How is it expected that such clients Identify themselves to the AS? The client identity, even if not something that can be strongly relied on, is useful for things like presenting a list of access grants to the user for revocation. http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.3.2 On Tue, Jul 26, 2011 at 12:17 PM, Eran Hammer-Lahav <eran@hueniverse.com<mailto:eran@hueniverse.com>> wrote: Not exactly. The current setup was pretty stable up to –15. In –16 I tried to clean it up by moving the parameter into each token endpoint type definition. That didn't work and was more confusing so in –17 I reverted back to the –15 approach. What makes this stand out in –20 is that all the examples now use HTTP Basic instead of the parameters (since we decided to make them NOT RECOMMENDED). So it feels sudden that client_id is gone, but none of this is actually much different from –15 on. Client authentication is still performed the same way, and the role of client_id is just as an alternative to using HTTP Basic on the token endpoint. I think the current text is sufficient, but if you want to provide specific additions I'm open to it. EHL From: Brian Campbell <bcampbell@pingidentity.com<mailto:bcampbell@pingidentity.com>> Date: Tue, 26 Jul 2011 10:16:21 -0700 To: Eran Hammer-lahav <eran@hueniverse.com<mailto:eran@hueniverse.com>> Cc: oauth <oauth@ietf.org<mailto:oauth@ietf.org>> Subject: Re: [OAUTH-WG] treatment of client_id for authentication and identification I'm probably somewhat biased by having read previous version of the spec, previous WG list discussions, and my current AS implementation (which expects client_id) but this seems like a fairly big departure from what was in -16. I'm okay with the change but feel it's wroth mentioning that it's likely an incompatible one. That aside, I feel like it could use some more explanation in draft-ietf-oauth-v2 because, at least to me and hence my question, it wasn't entirely clear how client_id should be used for those cases. On Mon, Jul 25, 2011 at 4:18 PM, Eran Hammer-Lahav <eran@hueniverse.com<mailto:eran@hueniverse.com>> wrote: The client_id is currently only defined for password authentication on the token endpoint. If you are using Basic or any other form of authentication (or no authentication at all), you are not going to use the client_id parameter.
- [OAUTH-WG] treatment of client_id for authenticat… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Torsten Lodderstedt
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Torsten Lodderstedt
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Torsten Lodderstedt
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Torsten Lodderstedt
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Torsten Lodderstedt
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Lu, Hui-Lan (Huilan)
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav
- Re: [OAUTH-WG] treatment of client_id for authent… Brian Campbell
- Re: [OAUTH-WG] treatment of client_id for authent… Lu, Hui-Lan (Huilan)
- Re: [OAUTH-WG] treatment of client_id for authent… Lu, Hui-Lan (Huilan)
- Re: [OAUTH-WG] treatment of client_id for authent… Richer, Justin P.
- Re: [OAUTH-WG] treatment of client_id for authent… Eran Hammer-Lahav