Re: [OAUTH-WG] Missing Client Credentials on Token Endpoint - Which Error Response?

Eran Hammer-Lahav <eran@hueniverse.com> Wed, 16 February 2011 18:39 UTC

Return-Path: <eran@hueniverse.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 C64923A6EE8 for <oauth@core3.amsl.com>; Wed, 16 Feb 2011 10:39:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.585
X-Spam-Level:
X-Spam-Status: No, score=-2.585 tagged_above=-999 required=5 tests=[AWL=0.014, BAYES_00=-2.599]
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 eqTGcKZYV96B for <oauth@core3.amsl.com>; Wed, 16 Feb 2011 10:39:38 -0800 (PST)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E392A3A6EE5 for <oauth@ietf.org>; Wed, 16 Feb 2011 10:39:37 -0800 (PST)
Received: (qmail 5839 invoked from network); 16 Feb 2011 18:40:06 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 16 Feb 2011 18:40:05 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 16 Feb 2011 11:39:59 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "Stuebner, Christian (extern)" <c.stuebner@external.telekom.de>, "'oauth@ietf.org'" <oauth@ietf.org>
Date: Wed, 16 Feb 2011 11:39:52 -0700
Thread-Topic: [OAUTH-WG] Missing Client Credentials on Token Endpoint - Which Error Response?
Thread-Index: AcvN8sWB2Wduh3F8R3uBbRGhS9AdtgAFU7uw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723445A91D3F42@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <AF643E8E92B7BE459C0E9095747CF7897ABEF3E166@QEO40072.de.t-online.corp>
In-Reply-To: <AF643E8E92B7BE459C0E9095747CF7897ABEF3E166@QEO40072.de.t-online.corp>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Missing Client Credentials on Token Endpoint - Which Error Response?
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: Wed, 16 Feb 2011 18:39:38 -0000

(a) is more appropriate. See -13 for revised language.

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Stuebner, Christian (extern)
> Sent: Wednesday, February 16, 2011 8:01 AM
> To: 'oauth@ietf.org'
> Subject: [OAUTH-WG] Missing Client Credentials on Token Endpoint - Which
> Error Response?
> 
> Hi all,
> 
> I noticed a minor change in wording for the error response codes at the
> token endpoint (see citation below).
> But I'm still not sure how an authorization server is expected to behave in
> cases where he supports client password authentication via request
> parameters and HTTP Basic authentication and the client included neither of
> them in the request.
> 
> Since one could argue that "no credentials" are also "invalid credentials" the
> authorization server could do:
> a) Send status code 401 and WWW-Authenticate Basic as header
> b) Send status code 400 and error code invalid_client
> 
> I'm more in favor of a) because it seems to be more HTTP-like (or RESTful if
> you will) but I'm afraid b) is what was initially intended.
> How are your implementations handling this case? Should we be more
> specific in the spec?
> 
> 
> draft-10 (chapter 4.3):
> -----------------------
> If the client provided invalid credentials using an HTTP authentication scheme
> via the Authorization request header field, the authorization server MUST
> respond with the HTTP 401 (Unauthorized) status code. Otherwise, the
> authorization server SHALL respond with the HTTP 400 (Bad Request) status
> code.
> [...]
>     invalid_client: The client identifier provided is invalid, the client failed to
> authenticate, the client did not include its credentials, provided multiple
> client credentials, or used unsupported credentials type.
> 
> 
> draft-12 (chapter 5.2):
> -----------------------
> If the client provided invalid credentials using an HTTP authentication scheme
> via the Authorization request header field, the authorization server MUST
> respond with a HTTP 401 (Unauthorized) status code, and include the WWW-
> Authenticate response header field matching the authentication scheme
> used by the client. Otherwise, the authorization server MUST respond with
> the HTTP 400 (Bad Request) status code.
> [...]
>     invalid_client: Client authentication failed (e.g. unknown client, no client
> credentials included, multiple client credentials included, or unsupported
> credentials type).
> 
> 
> 
> Regards,
> Christian Stübner
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth