<html><head><base href="x-msg://33/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">It is used only for postMessage.<div><br></div><div>Clients wishing to use postMessage MUST register a value.</div><div><br></div><div>Looking at Google's registration and the spec a single origin looks sufficient.</div><div><br></div><div>A client MUST register a JS Origin if it is requesting a postMessage response.</div><div>A client MUST register a redirect_uri if it is requesting a fragment encoded response.</div><div><div><br></div><div>A client MAY register a redirect_uri if it is requesting a query parameter encoded response.</div><div><br></div><div>For those that haven't read the google spec you send redirect_uri="postmessage" in the request.</div><div>The registered <span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; ">js_origin_uri is used to send the response.</span></div><div><span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; ">It would be nice if we had a </span><span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; "><a target="_blank" href="https://groups.google.com/group/oauth2-postmessage-profile">oauth2-postmessage-profile</a> that didn't require reading the JS source! </span></div><div><span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; ">Breno should correct me if I have it wrong.</span></div><div><span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="font-family: tahoma, 'new york', times, serif; font-size: 13px; ">John B.</span></div><div><br><div><div>On 2011-11-23, at 4:11 PM, Edmund Jay wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: tahoma, 'new york', times, serif; font-size: 10pt; color: rgb(0, 0, 0); "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">In the Registration spec, we have a js_origin_uri field which requires more explanation.<br>Currently, it's defined as :<br>    OPTIONAL. Space-separated list of JavaScript Origin URIs (used for Post Message flow).<span class="Apple-converted-space"> </span><br><br>This description is not very informative as is, so the working group decided to do some research.<br><br>In the case of OpenID Connect, JavaScript clients may be used to implement parts of the specs.<br>JavaScript has a same origin policy that only permits pages to interact with each other if they originate from the same origin.<br>Origin is defined by the scheme, host, and port of a URL. Pages have the same origin if and only if the scheme, host, and port matches exactly.<br><br><span>Some general background about same origin policy can be found at<span class="Apple-converted-space"> </span><a rel="nofollow" target="_blank" href="http://www.w3.org/Security/wiki/Same_Origin_Policy">http://www.w3.org/Security/wiki/Same_Origin_Policy</a></span><br><br>HTML5 defines the exact mechanism for determining the effective origin of a piece of Javascript by using it's "owner".<br><span><a rel="nofollow" target="_blank" href="http://www.w3.org/TR/html5/origin-0.html#effective-script-origin">http://www.w3.org/TR/html5/origin-0.html#effective-script-origin</a></span><br><br><br>Given this restriction, there are techniques used by providers to allow cross domain communication. Otherwise, only scripts in the same origin as the providers would be able to work.<br><br>This page describes window.postMessage<br><span><a target="_blank" href="https://developer.mozilla.org/en/DOM/window.postMessage">https://developer.mozilla.org/en/DOM/window.postMessage</a></span><br><br>Project homepage:<br><span><a target="_blank" href="http://code.google.com/p/oauth2-postmessage-profile/">http://code.google.com/p/oauth2-postmessage-profile/</a></span><br><br>Discussion:<br><span><a target="_blank" href="https://groups.google.com/group/oauth2-postmessage-profile">https://groups.google.com/group/oauth2-postmessage-profile</a></span><br><br>Authorized JavaScript Origins<br><span>    For example:<span class="Apple-converted-space"> </span><a target="_blank" href="https://example.com">https://example.com</a></span><br><br><br>So for the Registration spec, it would just be a list of allowable URIs where client Javascript resides that would interact with the Authorization servers.<span class="Apple-converted-space"> </span><br><br>Would it be correct to define the js_origin_uri as follows :<br><br>    OPTIONAL. A Space-separated list of allowable URIs where client Javascript used for interacting with Authorization Servers reside or embedded.<br><br>Another question is, should we eliminate the js_origin_uri, since it's not mentioned anywhere else?<br>Or do we need to elaborate more on how it's used in the other specs?</div></div>_______________________________________________<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">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br></div></span></blockquote></div><br></div></div></body></html>