<div>I think I&#39;ve figured out the flow.&nbsp;&nbsp;It&#39;s seamless from the point of view of the user.&nbsp; It will require&nbsp;explicit support from the Idenity Provider (on top of AX), and the&nbsp;client website&nbsp;will need to&nbsp;have an AX&nbsp;update receiver that supports this as well.&nbsp; No special support is needed in the web browser.</div>

<div>&nbsp;</div>
<div>Turn on auto-logon on each site</div>
<div>&nbsp;</div>
<div>1.&nbsp;Log into the relying party&nbsp;normally</div>
<div>2. Site begins OpenID authentication, sends AX&nbsp;request asking for&nbsp;the IsLoggedIn variable, and requests updates when the value changes.</div>
<div>3. User selects whether or not they want this to occur (automatically notify the site upon login)</div>
<div>4.&nbsp;From the user&#39;s point-of-view, login now occurs automatically at that site.</div>
<div>&nbsp;</div>
<div>Federated login</div>
<div>&nbsp;</div>
<div>1. User logs in to OpenID Provider</div>
<div>2. IsLoggedIn variable is updated with a pseudo-random value</div>
<div>3. All sites subscribing to the IsLoggedIn variable are updated using AX.</div>
<div>4. OpenID Provider displays a page loaded with hidden iframes pointing to&nbsp;the same site URLs&nbsp;used for listening for AX updates.&nbsp;The IsLoggedIn variable is included as an argument.</div>
<div>5.&nbsp;Each site&#39;s iframe&nbsp;performs&nbsp;regular OpenID&nbsp;authentication&nbsp;using the&nbsp;identity info already cached by the AX update receiver.</div>
<div>6.&nbsp;As browser loads each iframe, it receives a standard login cookie from each site.</div>
<div>7.&nbsp;User can connect to each site and will be automatically logged in.</div>
<div>&nbsp;</div>
<div>Federated logout</div>
<div>&nbsp;</div>
<div>1. User logs out of OpenID Provider</div>
<div>2. IsLoggedIn variable is updated with a value of &quot;false&quot;</div>
<div>3. All sites subscribing to the IsLoggedIn variable are updated using AX.</div>
<div>4. Each receiving site expires the user session.</div>
<div>&nbsp;</div>
<div>Does this sound feasible?</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span class="gmail_quote">On 2/18/08, <b class="gmail_sendername">John Ehn</b> &lt;<a href="mailto:john@extremeswank.com">john@extremeswank.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>This can be pretty easily done by piggy-backing on the Attribute Exchange extension.&nbsp; Have your OpenID Provider store a &quot;IsLoggedIn&quot; variable.&nbsp; When the value is updated, the OpenID Provider can update all the websites subscribing to the value.</div>

<div>&nbsp;</div>
<div>The tricky&nbsp;part is having the web browser be automatically identifiable from all of these supported sites.&nbsp; My first thought would be:</div>
<div>&nbsp;</div>
<div>* Store and send out the value in of the IsLoggedIn variable to all the websites</div>
<div>* Give the browser&nbsp;multiple&nbsp;session cookies&nbsp;that&nbsp;are visible from each of the websites that the values was sent to, which contains a hash of the value plus the website URL.</div>
<div>* When the website sees the cookie, it can take the cookie,&nbsp;generate and compare the hash.&nbsp; If the hashes&nbsp;match,&nbsp;automatically do an OpenID login</div>
<div>* When the user logs out at the OpenID Provider, AX will update all subscribing websites, thereby logging the user out of all sites</div>
<div>&nbsp;</div>
<div>Although, I believe most web browsers won&#39;t let you store cookies that are visible from multiple sites.&nbsp; Perhaps someone more familiar with these mechanics and chip in?&nbsp; Maybe somehow detect the web browser&#39;s &quot;signature&quot; without involving&nbsp;any&nbsp;functionality in the&nbsp;browser itself?</div>

<div>&nbsp;</div>
<div>Thanks,</div><span class="sg">
<div>&nbsp;</div>
<div>John Ehn</div>
<div><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://extremeswank.com/" target="_blank">extremeswank.com</a><br>&nbsp;</div></span>
<div><span class="e" id="q_1182d6bbb4ddc241_2">
<div><span class="gmail_quote">On 2/18/08, <b class="gmail_sendername">Martin Paljak</b> &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:martin@paljak.pri.ee" target="_blank">martin@paljak.pri.ee</a>&gt; wrote:</span> 
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>On Feb 18, 2008, at 5:11 PM, McGovern, James F (HTSC, IT) wrote:<br>&gt; Likewise, I would think that for automatic signon, it would be a good<br>
&gt; thing if the OpenID provider could tell the relying party how long to<br>&gt; leave an otherwise idle session open before timing it out. Not sure if<br>&gt; this would require an extension or not.<br><br>expires_in from <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://openid.net/specs/openid-authentication-2_0.html#anchor20" target="_blank">http://openid.net/specs/openid-authentication-2_0.html#anchor20</a><br>
should do exactly this.<br><br>m.<br>--<br>Martin Paljak<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://martin.paljak.pri.ee/" target="_blank">http://martin.paljak.pri.ee</a><br>+3725156495<br><br>
<br>_______________________________________________<br>specs mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:specs@openid.net" target="_blank">specs@openid.net</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://openid.net/mailman/listinfo/specs" target="_blank">http://openid.net/mailman/listinfo/specs</a><br>
</blockquote></div><br></span></div></blockquote></div><br>