<div dir="ltr"><div>+1 for keeping it single registration value.<br><br></div>Another option would be to consolidate c<span lang="EN">lient_secret_basic &
                                client_secret_post into a single value (client_secrete_something???) as they are effectively equivalent in terms of preventing the OP from accepting weaker methods from a particular client.<br>

</span></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 23, 2013 at 9:33 AM, Justin Richer <span dir="ltr"><<a href="mailto:jricher@mitre.org" target="_blank">jricher@mitre.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    But now that the server responds with the current configuration,
    it's no longer just about client preference but also about the
    server expressing to the client what it should do. So if a client
    gets a client_secret, and the server is OK with it using basic,
    post, or jwt with that secret, how can the server tell the client
    this?<br>
    <br>
    The simplest thing is to keep it a single value as it is now, but
    that's (as always) a tradeoff between flexibility and complexity. <br>
    <br>
     -- Justin<br>
    <br>
    <div>On 01/23/2013 11:28 AM, John Bradley
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      If you want a client to authenticate multiple ways just don't
      register a prefrence.
      <div><br>
      </div>
      <div>This was intended to prevent IdP from accepting weaker
        methods of authentication from attackers.   If you are not doing
        that then the client should be able to use anything the server
        supports.</div>
      <div><br>
      </div>
      <div>Now if the client doesn't register a public key then some
        methods will fail, but that is a client decision.</div>
      <div><br>
      </div>
      <div>I think trying to say I only want to use 2 of the 5 available
        methods is overkill.</div>
      <div><br>
      </div>
      <div>The client should just pick the one it is going to use.</div>
      <div><br>
      </div>
      <div>If it really needs two methods maybe it is really two clients
        and somebody is fudging things a bit.</div>
      <div><br>
      </div>
      <div>John B.</div>
      <div><br>
        <div>
          <div>On 2013-01-23, at 4:18 PM, Justin Richer <<a href="mailto:jricher@mitre.org" target="_blank">jricher@mitre.org</a>>
            wrote:</div>
          <br>
          <blockquote type="cite">
            <div bgcolor="#FFFFFF" text="#000000"> Actually come to
              think of it, why wouldn't a client be able to do both
              client_secret_basic and client_secret_post to a server
              that supports them? It's the same info presented in
              *almost* the same way. <br>
              <br>
              This combination may be the exceptional case, though, as
              the other types (client_secret_jwt,private_key_jwt, or
              even "none" that OIDC hasn't adopted yet) aren't
              particularly mutually compatible. <br>
              <br>
               -- Justin<br>
              <br>
              <br>
              <div>On 01/23/2013 10:53 AM,
                Justin Richer wrote:<br>
              </div>
              <blockquote type="cite"> OK, thanks for catching that. I'll file a
                bug against Oauth2 Dynreg as well (which has the same
                examples). John is right that it is defined as a single
                value and the examples are off.<br>
                <br>
                 -- Justin<br>
                <br>
                <div>On 01/23/2013 10:03 AM,
                  Mike Jones wrote:<br>
                </div>
                <blockquote type="cite">
                  
                  
                  
                  <div>
                    <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">That’s


                        what I thought.  Thanks for confirming.<u></u><u></u></span></p>
                    <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
                    <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">                                                           


                        -- Mike<u></u><u></u></span></p>
                    <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
                    <div>
                      <div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
                        <p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
                            John Bradley [<a href="mailto:ve7jtb@ve7jtb.com" target="_blank">mailto:ve7jtb@ve7jtb.com</a>]
                            <br>
                            <b>Sent:</b> Wednesday, January 23, 2013
                            7:02 AM<br>
                            <b>To:</b> Mike Jones<br>
                            <b>Cc:</b> <a href="mailto:openid-specs-ab@lists.openid.net" target="_blank">openid-specs-ab@lists.openid.net</a><br>
                            <b>Subject:</b> Re: [Openid-specs-ab]
                            token_endpoint_auth_method Registration
                            example error?<u></u><u></u></span></p>
                      </div>
                    </div>
                    <p class="MsoNormal"><u></u> <u></u></p>
                    <p class="MsoNormal">The server may support multiple
                      methods, but the client MUST only register one, so
                      it shouldn't be multi value for simplicity.<u></u><u></u></p>
                    <div>
                      <p class="MsoNormal"><u></u> <u></u></p>
                    </div>
                    <div>
                      <p class="MsoNormal">If you need two auth methods
                        they should be different client_id.<u></u><u></u></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><u></u> <u></u></p>
                    </div>
                    <div>
                      <p class="MsoNormal">This is intended mostly to
                        enhance security and prevent a server from
                        taking client_secret_basic from an attacker when
                        the real client is using private_key_jwt.<u></u><u></u></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><u></u> <u></u></p>
                    </div>
                    <div>
                      <p class="MsoNormal">John B.<u></u><u></u></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><u></u> <u></u></p>
                      <div>
                        <div>
                          <p class="MsoNormal">On 2013-01-23, at 9:07
                            AM, Mike Jones <<a href="mailto:Michael.Jones@microsoft.com" target="_blank">Michael.Jones@microsoft.com</a>>


                            wrote:<u></u><u></u></p>
                        </div>
                        <p class="MsoNormal"><br>
                          <br>
                          <u></u><u></u></p>
                        <div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Registration


                                contains the following definition:<u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN">token_endpoint_auth_method</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></p>


                          </div>
                          <div style="margin-left:.5in">
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN">OPTIONAL. Requested
                                authentication method for the Token
                                Endpoint. The options are</span><tt><span style="color:#003366" lang="EN">client_secret_post</span></tt><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN">,<span> </span></span><tt><span style="color:#003366" lang="EN">client_secret_basic</span></tt><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN">,<span> </span></span><tt><span style="color:#003366" lang="EN">client_secret_jwt</span></tt><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN">, and<span> </span></span><tt><span style="color:#003366" lang="EN">private_key_jwt</span></tt><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN">, as described in Section
                                2.2.1 of [OpenID.Messages]. Other
                                Authentication methods may be defined by
                                extension. If unspecified or omitted,
                                the default is<span> </span></span><tt><span style="color:#003366" lang="EN">client_secret_basic</span></tt><span><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN"> </span></span><span style="font-size:11.0pt;font-family:"Verdana","sans-serif"" lang="EN">HTTP Basic Authentication
                                Scheme as specified in Section 2.3.1 of
                                [RFC6749].</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">It


                                later uses “token_endpoint_auth_method”
                                in two example result values in this
                                manner:<u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal" style="background:#cccccc"><span lang="EN">"token_endpoint_auth_method":</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></p>


                          </div>
                          <div>
                            <p class="MsoNormal" style="background:#cccccc"><span lang="EN">  
                                "client_secret_basic
                                client_secret_post",</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">This


                                looks like a bug to me, since the string
                                appears to be trying to contain multiple
                                values.<u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Thus,


                                I’m changing the string used to just<span> </span></span><span lang="EN">"client_secret_basic"</span><span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> </span></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">to



                                make the example correct.  But I thought
                                I’d point this out in case the example
                                may have been intentional in some
                                manner.<u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">                                                           


                                -- Mike<u></u><u></u></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p>
                          </div>
                          <p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Helvetica","sans-serif"">_______________________________________________<br>
                              Openid-specs-ab mailing list<br>
                              <a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank"><span style="color:purple">Openid-specs-ab@lists.openid.net</span></a><br>
                              <a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" target="_blank"><span style="color:purple">http://lists.openid.net/mailman/listinfo/openid-specs-ab</span></a><u></u><u></u></span></p>


                        </div>
                      </div>
                      <p class="MsoNormal"><u></u> <u></u></p>
                    </div>
                  </div>
                  <br>
                  <fieldset></fieldset>
                  <br>
                  <pre>_______________________________________________
Openid-specs-ab mailing list
<a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank">Openid-specs-ab@lists.openid.net</a>
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a>
</pre>
                </blockquote>
                <br>
                <br>
                <fieldset></fieldset>
                <br>
                <pre>_______________________________________________
Openid-specs-ab mailing list
<a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank">Openid-specs-ab@lists.openid.net</a>
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a>
</pre>
              </blockquote>
              <br>
            </div>
            _______________________________________________<br>
            Openid-specs-ab mailing list<br>
            <a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank">Openid-specs-ab@lists.openid.net</a><br>
            <a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
Openid-specs-ab mailing list<br>
<a href="mailto:Openid-specs-ab@lists.openid.net">Openid-specs-ab@lists.openid.net</a><br>
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br>
<br></blockquote></div><br></div>