<div dir="ltr"><div><b>Mike</b>:†</div><div><br></div>OK. As long as you can do it reasonably quickly, I am fine. Much better to have a single person editing at this stage.†<div><div><br></div><div><b>For the WG:†</b></div>
<div><br></div><div>If you do not agree to the proposed DoC, you need to respond quickly now, within a day or two.†</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/11/7 Mike Jones <span dir="ltr"><<a href="mailto:Michael.Jones@microsoft.com" target="_blank">Michael.Jones@microsoft.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Please do not edit any of the sources.† The working group has not had time to review any of this.† I know that I havenít.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u>†<u></u></span></p>
<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""> Nat Sakimura [mailto:<a href="mailto:sakimura@gmail.com" target="_blank">sakimura@gmail.com</a>]
<br>
<b>Sent:</b> Thursday, November 07, 2013 9:42 AM<br>
<b>To:</b> Torsten Lodderstedt<br>
<b>Cc:</b> Openid-specs Ab; Mike Jones<br>
<b>Subject:</b> Re: [Openid-specs-ab] Review Comments on Discovery<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u>†<u></u></p>
<div>
<p class="MsoNormal">Mike -†<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<div>
<p class="MsoNormal">If Torsten agrees to the Proposed DoC, shall I apply the edit to the XML since you have boat road of edits to toher documents including JOSE and OAuth WG stuff?†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<div>
<p class="MsoNormal">Torsten,†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<div>
<p class="MsoNormal">Is the PDoC agreeable?†<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u>†<u></u></p>
<div>
<p class="MsoNormal">2013/11/7 Nat Sakimura <<a href="mailto:sakimura@gmail.com" target="_blank">sakimura@gmail.com</a>><u></u><u></u></p>
<div>
<p class="MsoNormal">Proposed DoC (Disposition of Comment)<u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u>†<u></u></p>
<div>
<div>
<p class="MsoNormal">2013/11/6 Torsten Lodderstedt <<a href="mailto:torsten@lodderstedt.net" target="_blank">torsten@lodderstedt.net</a>><u></u><u></u></p>
<p class="MsoNormal">Hi Mike,<br>
<br>
here are my comments (some of them have already been discussed during the meeting on Sunday). Note: For your convenience, I also attached the word file containing my comments.<br>
<br>
regards,<br>
Torsten.<br>
<br>
-----<br>
<br>
Sections 2 & 4 describe a discovery process composed of three (mostly optional) steps (issuer discovery, create config URI, retrieve config data). I think it would be helpful to describe the whole process first, before diving into the details. This would support
 the reader to get guidance and allow to point out optional and mandatory parts of this spec.<br>
<br>
section 2 heading - [already discussed] Isnít this section about the discovery of the OPís issuer URI? This should be spelled out. I got screwed since I thought the URI discovered here is directly used to retrieve config data. I may not be the only one.<br>

<br>
2.1.1.<br>
<br>
1. step - Why is XRI mention given all input must be a URI? I thought XRIs are a super-set of URIs.<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Reject.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">XRI defines particular shortcut syntax. We are special casing it here to ease the transition from OpenID 2.0.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
2. step - Seems the URI must always contain an authority component? I think this should be stated explicitly.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Exact text needed.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
2.1.2<br>
<br>
This is stuff is hard to read and understand. Some example strings would be helpful for the reader. This would also lay a bridge to the next section.<u></u><u></u></p>
</blockquote>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Exact text needed.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">"A string of any other type" - What ist he other type you refer to? Any other than a URI?<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Perehaps rephrase it as†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">"A string not starting with =, @, !"<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">††<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"2. If the userinfo component is present " - What about the host?<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Add note explaining that for userinfo component is to be present, host component has to be present.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<div>
<p class="MsoNormal">As a separate note, perhaps we should align the language "portion" and "component" as well as the order of the appearance in this paragraph.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
3.<br>
<br>
"issuer" - Is this value required to be the same as the issuer URI (possibly) discovered by the process described in section 2? [already discussed, yes]<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Noted.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"authorization_endpoint<br>
OPTIONAL. URL of the OP's Authentication and Authorization Endpoint" - This endpoint is also the OAuth 2.0 authz endpoint, this should be mentioned (as for the following parameter).<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Add NOTE:.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"userinfo_endpoint"<br>
"This URL MUST use the https scheme and MAY contain port, path, and query parameter components. " - I think this particular normative text should be given in the core, only. Otherwise we end up with normative text regarding a certain concept spread/copied over
 the OIDC document suite, which makes maintaining consistence more difficult.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Drop the second sentence. If the same does not appear in the Core, add them to the Core.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"scopes_supported<br>
... The server MUST support the openid scope value. " - See above, this is not about discovery. I think it should at most be a note, but I would prefer a reference to the respective section in core.<u></u><u></u></p>

</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Make it a NOTE as this is rather important to bring it up.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"response_types_supported<br>
... Dynamic OpenID Providers MUST support the code, id_token, and the token id_token response type values." - Same here, could refer to the MTI section in core.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
grant_types_supported<br>
... Dynamic OpenID Providers MUST support the authorization_code and implicit grant type values and MAY support the urn:ietf:params:oauth:grant-type:jwt-bearer grant type defined in JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization
 Grants [OAuth.JWT]." - Same here. Moreover, Iím surprised this text mentions the JWT Bearer token profile. This is not even mentioned in core. What is the rationale?<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Just refer the core.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"subject_types_supported<br>
... Valid types include pairwise and public." - Are there other types envisioned?<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Noted.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">We are not precluding the possibilities.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"... The algorithm RS256 MUST be included. The value none MAY be supported, but MUST only be used with the Authorization Code Flow." - Normative text on non-discovery aspects again. I would suggest to make it a note or a reference instead.<u></u><u></u></p>

</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Just reference Core as a normative text.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Add NOTE that RS256 is required by the Core avoiding normative language.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"request_object_encryption_alg_values_supported<br>
... Authorization Server ..." - I would suggest to call it ďOPĒ consistently.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept. †<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Replace Authorization Server with OP.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"token_endpoint_auth_methods_supported<br>
OPTIONAL. JSON array containing a list of authentication methods supported by this Token Endpoint. The options are client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, ... " - Same here about normative text<u></u><u></u></p>

</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Accept in principle.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
"request_uri_parameter_supported<br>
OPTIONAL. Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support. If omitted, the default value is true. " - Iím wondering why the default is different for request object and reference. I would expect
 false for both of them.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Discuss.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">The hisotrical reason is that request_uri †used to be in MTI.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Need to check if it is true still.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
4.<br>
<br>
"This step is OPTIONAL. The OpenID Provider endpoints and configuration information MAY be obtained out-of-band." - Iím wondering why this is optional as I consider this the main part of discovery. Or does it refer to derivation of the config URI based on the
 issuer URI? Then I would suggest to change section heading to something like ďDeriving OpenID Provider Config URIĒ. This might also require to push 4.1. to the top level.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">Reject.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">All the information obtained in this section may be obtained oob and not using discovery at all. However, it would be good to explain a little more about it.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">†<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
".. Providers supporting discovery MUST support receiving WebFinger requests via TLS" - Is this statement misplaced. As it refers to WebFinger, it might belong to section 2?<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">†Accept.†<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Move to section 2.†<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<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><u></u><u></u></p>
</blockquote>
</div>
</div>
<p class="MsoNormal"><span style="color:#888888"><br>
<br clear="all">
<span><u></u><u></u></span></span></p>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<p class="MsoNormal"><span><span style="color:#888888">-- </span></span><span style="color:#888888"><br>
<span>Nat Sakimura (=nat)</span></span><span><u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="color:#888888">Chairman, OpenID Foundation<br>
<a href="http://nat.sakimura.org/" target="_blank">http://nat.sakimura.org/</a><br>
@_nat_en</span><u></u><u></u></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u>†<u></u></p>
</div>
<p class="MsoNormal">-- <br>
Nat Sakimura (=nat)<u></u><u></u></p>
<div>
<p class="MsoNormal">Chairman, OpenID Foundation<br>
<a href="http://nat.sakimura.org/" target="_blank">http://nat.sakimura.org/</a><br>
@_nat_en<u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br>Nat Sakimura (=nat)<div>Chairman, OpenID Foundation<br><a href="http://nat.sakimura.org/" target="_blank">http://nat.sakimura.org/</a><br>@_nat_en</div>
</div>