<p dir="ltr">+1 to just referencing the BCP. </p>
<br><div class="gmail_quote"><div dir="ltr">On Wed, Mar 22, 2017, 3:54 AM William Denniss via Openid-specs-ab <<a href="mailto:openid-specs-ab@lists.openid.net">openid-specs-ab@lists.openid.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg">On Tue, Mar 21, 2017 at 12:48 PM, Filip Skokan <span dir="ltr" class="gmail_msg"><<a href="mailto:panva.ip@gmail.com" class="gmail_msg" target="_blank">panva.ip@gmail.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><i class="gmail_msg"><span style="font-size:12.8px" class="gmail_msg">William: I think the main point is that there needs to be a distinction between *public* and *confidential* clients, but that using the redirect URI to determine this is a bad idea.</span><br class="gmail_msg"></i></div><div class="gmail_msg"><span style="font-size:12.8px" class="gmail_msg">> client property application_type with values "native" and "web" seems to be the connect way of distinguishing between public and confidential clients.</span></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">I agree.</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div>Furthermore in 8.7/7.1 > <i class="gmail_msg">For Custom URI scheme based redirects, authorization servers SHOULD enforce the requirement in Section 7.1 that clients use reverse domain name based schemes. <b class="gmail_msg">At a minimum, any scheme that doesn't contain a period character ("."), SHOULD be rejected.</b></i></div></blockquote><div class="gmail_msg"> </div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">Yes. Such schemes violate RFC7595 for private-use URI schemes and are susceptible to collisions.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Should the Connect spec simply reference the BCP for these guidelines once it's published I wonder?  That way we can also revise the BCP if the native app landscape changes over time (as it has here) without needing to modify the Connect spec.</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_extra gmail_msg"></div><div class="gmail_extra gmail_msg">While waiting for native apps to finalized and thus enabled as best practice by default in node oidc-provider the developers can choose to enable it as an experimental feature, this changes the way application_type=native clients' redirect_uris member are validated, <a href="https://github.com/panva/node-oidc-provider/blob/85f1480/lib/helpers/client_schema.js#L450-L477" class="gmail_msg" target="_blank">here's the difference</a>. Special handling was also necessary to allow a dynamic port to provided for Loopback URI Redirection.</div></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">That was a great change Filip :) I used your provider to validate the Dynamic Client Registration support in AppAuth.</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_extra gmail_msg"><br clear="all" class="gmail_msg"><div class="gmail_msg"><div class="m_-1800726555478428266gmail-m_-6343311108779396730gmail_signature gmail_msg">Best,<br class="gmail_msg"><b class="gmail_msg">Filip Skokan</b></div></div><div class="gmail_msg"><div class="m_-1800726555478428266gmail-h5 gmail_msg">
<br class="gmail_msg"><div class="gmail_quote gmail_msg">On Tue, Mar 21, 2017 at 7:00 PM, Mike Jones via Openid-specs-ab <span dir="ltr" class="gmail_msg"><<a href="mailto:openid-specs-ab@lists.openid.net" class="gmail_msg" target="_blank">openid-specs-ab@lists.openid.net</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US" class="gmail_msg">
<div class="m_-1800726555478428266gmail-m_-6343311108779396730gmail-m_-3960370225228636866WordSection1 gmail_msg">
<p class="MsoNormal gmail_msg"><span style="color:rgb(0,32,96)" class="gmail_msg">Can you please file an issue at <a href="https://bitbucket.org/openid/connect/issues?status=new&status=open" class="gmail_msg" target="_blank">
https://bitbucket.org/openid/connect/issues?status=new&status=open</a> under the Errata milestone proposing specific textual edits to apply?<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span style="color:rgb(0,32,96)" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span style="color:rgb(0,32,96)" class="gmail_msg">                                                          Thanks,<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span style="color:rgb(0,32,96)" class="gmail_msg">                                                          -- Mike<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><a name="m_-1800726555478428266_m_-6343311108779396730_m_-3960370225228636866__MailEndCompose" class="gmail_msg"><span style="color:rgb(0,32,96)" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></a></p>
<span class="gmail_msg"></span>
<p class="MsoNormal gmail_msg"><b class="gmail_msg">From:</b> Openid-specs-ab [mailto:<a href="mailto:openid-specs-ab-bounces@lists.openid.net" class="gmail_msg" target="_blank">openid-specs-ab-bounces@lists.openid.net</a>]
<b class="gmail_msg">On Behalf Of </b>William Denniss via Openid-specs-ab<br class="gmail_msg">
<b class="gmail_msg">Sent:</b> Tuesday, March 21, 2017 10:46 AM<br class="gmail_msg">
<b class="gmail_msg">To:</b> Roland Hedberg <<a href="mailto:roland@catalogix.se" class="gmail_msg" target="_blank">roland@catalogix.se</a>><br class="gmail_msg">
<b class="gmail_msg">Cc:</b> <a href="mailto:openid-specs-ab@lists.openid.net" class="gmail_msg" target="_blank">openid-specs-ab@lists.openid.net</a><br class="gmail_msg">
<b class="gmail_msg">Subject:</b> Re: [Openid-specs-ab] Native apps redirect_uri scheme<u class="gmail_msg"></u><u class="gmail_msg"></u></p><div class="gmail_msg"><div class="m_-1800726555478428266gmail-m_-6343311108779396730gmail-h5 gmail_msg">
<p class="MsoNormal gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></p>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">+1 to include HTTPS support.  I think the main point is that there needs to be a distinction between *public* and *confidential* clients, but that using the redirect URI to determine this is a bad idea.<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">Regarding localhost vs loopback IP literal:<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">The Native Apps draft recommends using loopback IP literals over localhost, as they are slightly superior.  By default, 127.0.0.1 will strictly receive local traffic only – a desirable security property. It's also immune to hostname resolution
 issues (it's possible to break localhost resolution).<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">In my testing with .NET on Windows 10, opening a HTTP listener on "<a href="http://localhost" class="gmail_msg" target="_blank">http://localhost</a>" opened a socket on all network interfaces and triggered a firewall dialog – while listening on "<a href="http://127.0.0.1" class="gmail_msg" target="_blank">http://127.0.0.1</a>"
 did neither.  I'm sure it's possible to configure which network interfaces to use with "localhost", but what I like about 127.0.0.1 is that you don't have to worry about that.<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">Since both are simple static constants – and one is better – I recommend the IP literal.<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></p>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">On Tue, Mar 21, 2017 at 9:59 AM, Roland Hedberg via Openid-specs-ab <<a href="mailto:openid-specs-ab@lists.openid.net" class="gmail_msg" target="_blank">openid-specs-ab@lists.openid.net</a>> wrote:<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in" class="gmail_msg">
<p class="MsoNormal gmail_msg">Hi!<br class="gmail_msg">
<br class="gmail_msg">
There is a thing we probably have to issue an errata for in the OIDC cleint registration document.<br class="gmail_msg">
<br class="gmail_msg">
This is the case:<br class="gmail_msg">
<br class="gmail_msg">
— In <a href="http://openid.net/specs/openid-connect-registration-1_0.html" class="gmail_msg" target="_blank">
http://openid.net/specs/openid-connect-registration-1_0.html</a> it says in the text about<br class="gmail_msg">
application_type:<br class="gmail_msg">
<br class="gmail_msg">
”Native Clients MUST only register redirect_uris using custom URI schemes or URLs using the http: scheme with localhost as the hostname. "<br class="gmail_msg">
<br class="gmail_msg">
Now this conflicts with what is said in <a href="https://tools.ietf.org/id/draft-ietf-oauth-native-apps-09.html" class="gmail_msg" target="_blank">
https://tools.ietf.org/id/draft-ietf-oauth-native-apps-09.html</a><br class="gmail_msg">
where in section 7 it lists these redirect URI options:<br class="gmail_msg">
7.1 Custom URI<br class="gmail_msg">
7.2 HTTPS<br class="gmail_msg">
7.3 loopback aka <a href="HTTP://127.0.0.1" class="gmail_msg" target="_blank">HTTP://127.0.0.1</a><br class="gmail_msg">
<br class="gmail_msg">
Furthermore in 8.6 it says about the use of loopback URI:<br class="gmail_msg">
"While redirect URIs using localhost (i.e.  <a href="http://localhost:%7bport%7d/" class="gmail_msg" target="_blank">
http://localhost:{port}/</a>) function similarly to loopback IP redirects described in Section 7.3, the use of localhost is NOT RECOMMENDED. "<br class="gmail_msg">
<br class="gmail_msg">
-- Roland<br class="gmail_msg">
"Education is the path from cocky ignorance to miserable uncertainty.” - Mark Twain<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
Openid-specs-ab mailing list<br class="gmail_msg">
<a href="mailto:Openid-specs-ab@lists.openid.net" class="gmail_msg" target="_blank">Openid-specs-ab@lists.openid.net</a><br class="gmail_msg">
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" class="gmail_msg" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</blockquote>
</div>
<p class="MsoNormal gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></p>
</div>
</div></div></div>
</div>

<br class="gmail_msg">_______________________________________________<br class="gmail_msg">
Openid-specs-ab mailing list<br class="gmail_msg">
<a href="mailto:Openid-specs-ab@lists.openid.net" class="gmail_msg" target="_blank">Openid-specs-ab@lists.openid.net</a><br class="gmail_msg">
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br class="gmail_msg">
<br class="gmail_msg"></blockquote></div><br class="gmail_msg"></div></div></div></div></div>
</blockquote></div></div></div>
_______________________________________________<br class="gmail_msg">
Openid-specs-ab mailing list<br class="gmail_msg">
<a href="mailto:Openid-specs-ab@lists.openid.net" class="gmail_msg" target="_blank">Openid-specs-ab@lists.openid.net</a><br class="gmail_msg">
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br class="gmail_msg">
</blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><p dir="ltr">Nat Sakimura</p>
<p dir="ltr">Chairman of the Board, OpenID Foundation</p>
</div>