Re: [OAUTH-WG] Authz Header + client_id in message body

John Bradley <ve7jtb@ve7jtb.com> Thu, 01 August 2013 12:14 UTC

Return-Path: <ve7jtb@ve7jtb.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 C398821F9A81 for <oauth@ietfa.amsl.com>; Thu, 1 Aug 2013 05:14:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[AWL=0.001, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lSdI5Zbo2JfD for <oauth@ietfa.amsl.com>; Thu, 1 Aug 2013 05:13:57 -0700 (PDT)
Received: from mail-pa0-f51.google.com (mail-pa0-f51.google.com [209.85.220.51]) by ietfa.amsl.com (Postfix) with ESMTP id 60FBF21E80CC for <oauth@ietf.org>; Thu, 1 Aug 2013 05:13:11 -0700 (PDT)
Received: by mail-pa0-f51.google.com with SMTP id lf11so2057764pab.38 for <oauth@ietf.org>; Thu, 01 Aug 2013 05:13:10 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to:x-mailer:x-gm-message-state; bh=EJgHf/hDqry097v0nT/6Sq+LO+3Yq0E5CnnqPNyKEtY=; b=dnojMqWXoRDQdt83gwnLoXqyLyNvBHiEHIrp7GLWidgleWNBK72ZJX+LDHhoqC6K6Z Ciu+RZs2qQt/2SUZTHeMfbDGSJzRxeURu7xRbLZ8YGuWGVInYOfkKHRezTWnAW18APzI XyofR9HN4SNGx89idvxIPx2ZGfjkBSCZacu7d3RmnV9iBQKxtFqAJ31dGOwmGIzvizMg up79I4U9Fw7PibTmTj0cm9jA1p+k/c36etwq/C3QRm9GPnQQgjsIZAL+sudqSF2L54su motDoja5AIUVHb3CFZV2OIgRdxEccqChOXc3Q6sU6OjiaYBX+FehKfjWSwFLxpALNjld YphA==
X-Received: by 10.66.144.199 with SMTP id so7mr3639445pab.99.1375359190136; Thu, 01 Aug 2013 05:13:10 -0700 (PDT)
Received: from dhcp-543c.meeting.ietf.org (dhcp-543c.meeting.ietf.org. [130.129.84.60]) by mx.google.com with ESMTPSA id tr10sm3751970pbc.22.2013.08.01.05.13.06 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 01 Aug 2013 05:13:08 -0700 (PDT)
Content-Type: multipart/signed; boundary="Apple-Mail=_EB1EBA0C-A598-4926-B66B-BCCB0C116B52"; protocol="application/pkcs7-signature"; micalg="sha1"
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: John Bradley <ve7jtb@ve7jtb.com>
In-Reply-To: <e1cdc1b2a4d1841d12938a900355121f@lodderstedt-online.de>
Date: Thu, 01 Aug 2013 14:13:03 +0200
Message-Id: <706472E2-DF7D-4963-8C07-552F3690D927@ve7jtb.com>
References: <e1cdc1b2a4d1841d12938a900355121f@lodderstedt-online.de>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
X-Mailer: Apple Mail (2.1508)
X-Gm-Message-State: ALoCoQmo/QeXlEPdwx/IqT3uvXZBpsAovu2ByzxTLS9sBeSNtkTyfad5t/mMm5hiClHR7mcujr4b
Cc: "oauth@ietf.org WG" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Authz Header + client_id in message body
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, 01 Aug 2013 12:14:04 -0000

Hmm allowing sending the client_id even if there is no authentication was intended to mitigate cases where the client presenting the code or refresh_token was not the one that requested it, and for logging.

I don't think the intention was to allow the client_id to be sent twice.  

If it were my Token endpoint I would ignore the extra one and only processes the one sent as part of the authentication,  if there is no authentication then the value of the "client_id" parameter MUST match the client_id that was used to request the token.

It is probably a open question if the request should be considered malformed if it contains both.   

Personally I would recommend that the client not do that.

Others may remember it differently.

John B.

On 2013-08-01, at 11:34 AM, Torsten Lodderstedt <torsten@lodderstedt.net> wrote:

> Hi,
> 
> while setting up our OIDC interop tests, we run into the following problem:
> 
> The test client sends a request to the token endpoint, which contains the client credentials in an authorization header. Additionally, it adds the client_id to the message body. Our server treats this as an invalid request and responds with HTTP status code 400.
> 
> Now my question: The last paragraph of RFC 6749, section 3.1 (http://tools.ietf.org/html/rfc6749#section-3.2.1) states
> 
> "A client MAY use the "client_id" request parameter to identify itself
>   when sending requests to the token endpoint."
> 
> This seems to allow the client to send the client_id in addition to any other credential used to authenticate it.
> 
> I'm not sure what the intension is/was. How is the server supposed to handle such cases? Shall it compare both ids (from the header and the body)? Must they match exactly?
> 
> Any feedback is appreciated.
> 
> regards,
> Torsten.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth