<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Lucida Console";
        panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The definition you propose doesn’t reference any of the “origin” definitions cites or say that this is about a postMessage profile.  I think it should.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">In private notes on this topic, John Bradley had written:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in">This page describes window.postMessage<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><a href="https://developer.mozilla.org/en/DOM/window.postMessage">https://developer.mozilla.org/en/DOM/window.postMessage</a><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="margin-left:.5in;border-collapse:collapse" id="src_table_0">
<tbody>
<tr id="sl_svn2_21">
<td valign="top" style="padding:0in 0in 0in 3.0pt">
<p class="MsoNormal"><span style="font-size:9.0pt">Project homepage:<o:p></o:p></span></p>
</td>
</tr>
<tr id="sl_svn2_22">
<td valign="top" style="padding:0in 0in 0in 3.0pt">
<p class="MsoNormal"><span style="font-size:9.0pt"><a href="http://code.google.com/p/oauth2-postmessage-profile/">http://code.google.com/p/oauth2-postmessage-profile/</a><o:p></o:p></span></p>
</td>
</tr>
<tr id="sl_svn2_23">
<td valign="top" style="padding:0in 0in 0in 3.0pt"></td>
</tr>
<tr id="sl_svn2_24">
<td valign="top" style="padding:0in 0in 0in 3.0pt">
<p class="MsoNormal"><span style="font-size:9.0pt">Discussion:<o:p></o:p></span></p>
</td>
</tr>
<tr id="sl_svn2_25">
<td valign="top" style="padding:0in 0in 0in 3.0pt">
<p class="MsoNormal"><span style="font-size:9.0pt"><a href="https://groups.google.com/group/oauth2-postmessage-profile">https://groups.google.com/group/oauth2-postmessage-profile</a><o:p></o:p></span></p>
</td>
</tr>
<tr id="sl_svn2_26">
<td style="padding:0in 0in 0in 0in"></td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Lucida Console""><br>
</span>====<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span class="apple-style-span"><span style="font-size:9.0pt;font-family:"Lucida Console"">I just set up a client ID for Google and it set a JS ORIGIN.</span></span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New""><br>
</span>That doesn't convey that it is used only for postMessage.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">The JS inter iFrame fragment flow also known as token or implicit in OAuth 2.0 uses redirect_uri to call the iframe from the RP.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Include the links to the google postMessage profile  from my last message that is the important part.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Can you propose a new definition that includes a reference providing a definition of same-origin policy and that incorporates John’s suggestions above?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">                                                            Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">                                                            -- Mike<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></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""> openid-specs-ab-bounces@lists.openid.net [mailto:openid-specs-ab-bounces@lists.openid.net]
<b>On Behalf Of </b>Edmund Jay<br>
<b>Sent:</b> Wednesday, November 23, 2011 11:12 AM<br>
<b>To:</b> openid-specs-ab@lists.openid.net<br>
<b>Subject:</b> [Openid-specs-ab] Description of js_origin_uri (Javascrip Origin URI) in Client Registration Spec<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">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).
<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>
Some general background about same origin policy can be found at <a href="http://www.w3.org/Security/wiki/Same_Origin_Policy" target="_blank">
http://www.w3.org/Security/wiki/Same_Origin_Policy</a><br>
<br>
HTML5 defines the exact mechanism for determining the effective origin of a piece of Javascript by using it's "owner".<br>
<a href="http://www.w3.org/TR/html5/origin-0.html#effective-script-origin" target="_blank">http://www.w3.org/TR/html5/origin-0.html#effective-script-origin</a><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>
<a href="https://developer.mozilla.org/en/DOM/window.postMessage" target="_blank">https://developer.mozilla.org/en/DOM/window.postMessage</a><br>
<br>
Project homepage:<br>
<a href="http://code.google.com/p/oauth2-postmessage-profile/" target="_blank">http://code.google.com/p/oauth2-postmessage-profile/</a><br>
<br>
Discussion:<br>
<a href="https://groups.google.com/group/oauth2-postmessage-profile" target="_blank">https://groups.google.com/group/oauth2-postmessage-profile</a><br>
<br>
Authorized JavaScript Origins<br>
    For example: <a href="https://example.com" target="_blank">https://example.com</a><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.
<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?<o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>