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 2704B11E80FE for <oauth@ietfa.amsl.com>;
 Wed, 27 Jul 2011 10:38:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.086
X-Spam-Level: 
X-Spam-Status: No, score=-2.086 tagged_above=-999 required=5 tests=[AWL=0.162,
 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 u4YKEfv70seb for
 <oauth@ietfa.amsl.com>; Wed, 27 Jul 2011 10:38:43 -0700 (PDT)
Received: from smtprelay06.ispgateway.de (smtprelay06.ispgateway.de
 [80.67.31.104]) by ietfa.amsl.com (Postfix) with ESMTP id 24FE511E80F2 for
 <oauth@ietf.org>; Wed, 27 Jul 2011 10:38:42 -0700 (PDT)
Received: from [130.129.17.214] by smtprelay06.ispgateway.de with esmtpsa
 (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>)
 id 1Qm848-0000D1-3r; Wed, 27 Jul 2011 19:38:40 +0200
Message-ID: <4E304D1C.3020407@lodderstedt.net>
Date: Wed, 27 Jul 2011 13:38:36 -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: <CA558457.17485%eran@hueniverse.com>
In-Reply-To: <CA558457.17485%eran@hueniverse.com>
Content-Type: multipart/alternative;
 boundary="------------030508060209080108020204"
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: Wed, 27 Jul 2011 17:38:46 -0000

This is a multi-part message in MIME format.
--------------030508060209080108020204
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Am 27.07.2011 12:08, schrieb Eran Hammer-Lahav:
> 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.

It can do so for confidential clients only. What about public clients 
using e.g. the Resource Owners Password flow? I see the need to identify 
them as well. For example, if the authz server issues a refresh token to 
such a client there must be a way to relate this token to a certain 
client in order to give the user a chance to revoke this specific token.

regards,
Torsten.

>
> 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 mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

--------------030508060209080108020204
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Am 27.07.2011 12:08, schrieb Eran Hammer-Lahav:
    <blockquote cite="mid:CA558457.17485%25eran@hueniverse.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>The way I've set it up in &#8211;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.&nbsp;Then in section 2.4.1 the parameter is "extended" for use
        with the token endpoint for client authentication when Basic is
        not available.</div>
      <div><br>
      </div>
      <div>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.</div>
      <div><br>
      </div>
      <div>The token endpoint performs client authentication instead of
        "client identification" using the client identifier as username.</div>
    </blockquote>
    <br>
    It can do so for confidential clients only. What about public
    clients using e.g. the Resource Owners Password flow? I see the need
    to identify them as well. For example, if the authz server issues a
    refresh token to such a client there must be a way to relate this
    token to a certain client in order to give the user a chance to
    revoke this specific token. <br>
    <br>
    regards,<br>
    Torsten.<br>
    <br>
    <blockquote cite="mid:CA558457.17485%25eran@hueniverse.com"
      type="cite">
      <div><br>
      </div>
      <div>Hope this helps.</div>
      <div><br>
      </div>
      <div>EHL</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <span id="OLK_SRC_BODY_SECTION">
        <div style="font-family:Calibri; font-size:11pt;
          text-align:left; color:black; BORDER-BOTTOM: medium none;
          BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT:
          0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid;
          BORDER-RIGHT: medium none; PADDING-TOP: 3pt"><span
            style="font-weight:bold">From: </span> Brian Campbell &lt;<a
            moz-do-not-send="true"
            href="mailto:bcampbell@pingidentity.com">bcampbell@pingidentity.com</a>&gt;<br>
          <span style="font-weight:bold">Date: </span> Wed, 27 Jul 2011
          04:32:42 -0700<br>
          <span style="font-weight:bold">To: </span> Eran Hammer-lahav
          &lt;<a moz-do-not-send="true"
            href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;<br>
          <span style="font-weight:bold">Cc: </span> oauth &lt;<a
            moz-do-not-send="true" href="mailto:oauth@ietf.org">oauth@ietf.org</a>&gt;<br>
          <span style="font-weight:bold">Subject: </span> Re:
          [OAUTH-WG] treatment of client_id for authentication and
          identification<br>
        </div>
        <div><br>
        </div>
        <blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
          style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0
          0 0 5;">
          <div>
            <div>
              <div>Okay, looking at some of those drafts again, I see
                that now. Except</div>
              <div>for -16 they are all pretty similar on client_id back
                to -10.</div>
              <div>Apparently it was my misunderstanding.&nbsp;&nbsp;Maybe I'm the
                only one who</div>
              <div>doesn't get it but I do think it could be
                clearer.&nbsp;&nbsp;I'd propose some</div>
              <div>text but I'm still not fully sure I understand what
                is intended.</div>
              <div><br>
              </div>
              <div>If a client doesn't have a secret, is client_id a
                SHOULD NOT, a MUST</div>
              <div>NOT or OPTIONAL to be included on token endpoint
                requests?</div>
              <div><br>
              </div>
              <div>Here's a specific question/example to illustrate my
                continued</div>
              <div>confusion - it would seem like the majority of
                clients that would use</div>
              <div>the Resource Owner Password Credentials grant
                (although 4.3.2 shows</div>
              <div>the use of HTTP Basic) would be "public"
                clients.&nbsp;&nbsp;How is it expected</div>
              <div>that such clients Identify themselves to the AS?&nbsp;&nbsp;The
                client identity,</div>
              <div>even if not something that can be strongly relied on,
                is useful for</div>
              <div>things like presenting a list of access grants to the
                user for</div>
              <div>revocation.</div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div><a moz-do-not-send="true"
                  href="http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.3.2">http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.3.2</a></div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>On Tue, Jul 26, 2011 at 12:17 PM, Eran Hammer-Lahav
                &lt;<a moz-do-not-send="true"
                  href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;
                wrote:</div>
              <blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
                style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5;
                MARGIN:0 0 0 5;">
                <div> Not exactly.</div>
                <div> The current setup was pretty stable up to &#8211;15. In
                  &#8211;16 I tried to clean it up</div>
                <div> by moving the parameter into each token endpoint
                  type definition. That</div>
                <div> didn't work and was more confusing so in &#8211;17 I
                  reverted back to the &#8211;15</div>
                <div> approach.</div>
                <div> What makes this stand out in &#8211;20 is that all the
                  examples now use HTTP Basic</div>
                <div> instead of the parameters (since we decided to
                  make them NOT RECOMMENDED).</div>
                <div> So it feels sudden that client_id is gone, but
                  none of this is actually much</div>
                <div> different from &#8211;15 on. Client authentication is
                  still performed the same</div>
                <div> way, and the role of client_id is just as an
                  alternative to using HTTP Basic</div>
                <div> on the token endpoint.</div>
                <div> I think the current text is sufficient, but if you
                  want to provide specific</div>
                <div> additions I'm open to it.</div>
                <div> EHL</div>
                <div> From: Brian Campbell &lt;<a moz-do-not-send="true"
                    href="mailto:bcampbell@pingidentity.com">bcampbell@pingidentity.com</a>&gt;</div>
                <div> Date: Tue, 26 Jul 2011 10:16:21 -0700</div>
                <div> To: Eran Hammer-lahav &lt;<a
                    moz-do-not-send="true"
                    href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</div>
                <div> Cc: oauth &lt;<a moz-do-not-send="true"
                    href="mailto:oauth@ietf.org">oauth@ietf.org</a>&gt;</div>
                <div> Subject: Re: [OAUTH-WG] treatment of client_id for
                  authentication and</div>
                <div> identification</div>
                <div><br>
                </div>
                <div> I'm probably somewhat biased by having read
                  previous version of the</div>
                <div> spec, previous WG list discussions, and my current
                  AS implementation</div>
                <div> (which expects client_id) but this seems like a
                  fairly big departure</div>
                <div> from what was in -16.&nbsp;&nbsp;I'm okay with the change
                  but feel it's wroth</div>
                <div> mentioning that it's likely an incompatible one.</div>
                <div> That aside, I feel like it could use some more
                  explanation in</div>
                <div> draft-ietf-oauth-v2 because, at least to me and
                  hence my question, it</div>
                <div> wasn't entirely clear how client_id should be used
                  for those cases.</div>
                <div> On Mon, Jul 25, 2011 at 4:18 PM, Eran Hammer-Lahav
                  &lt;<a moz-do-not-send="true"
                    href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</div>
                <div> wrote:</div>
                <div><br>
                </div>
                <div> The client_id is currently only defined for
                  password authentication on the</div>
                <div> token endpoint. If you are using Basic or any
                  other form of authentication</div>
                <div> (or no authentication at all), you are not going
                  to use the client_id</div>
                <div> parameter.</div>
                <div><br>
                </div>
              </blockquote>
              <div><br>
              </div>
            </div>
          </div>
        </blockquote>
      </span>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
</pre>
    </blockquote>
  </body>
</html>

--------------030508060209080108020204--
