<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.5730.11" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>it seems to me that there could be a fairly easy
way to<BR>'Platform the web with Federated hubs and syndicated apps',<BR>using
Open-Id like principles. I'd appreciate any thoughts,<BR>issues etc. on
this.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Problem:</FONT></DIV>
<DIV><FONT face=Arial size=2>If a web-service with say 1m users wants to become
an<BR>app hub i.e. a platform ala facebook, how would they do<BR>so without
rewriting their whole app and how can apps<BR>syndicate themselves to (hundreds)
of such services without <BR>customizing their apps for each one.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Solution:</FONT></DIV>
<DIV><FONT face=Arial size=2>Hub drops-in a program called federator.cgi into
its www tree<BR>Hub gets an api_key/secret_key from spoke<BR>Hub adds an applink
to its web-page<BR> <a href=/federator.cgi?app=spoke>Go to spoke
app</a></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Logged-in user at hub.com clicks on
link</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>federator.cgi gets logged-in users user_id, looks
up the api_key for spoke <BR>and calls spoke to get a session key for
user_id<BR> spoke.com/syindicator.cgi/getsession?api_key=...&user_id=...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>syndicator.cgi generates a session_key, stores it
with user_id and<BR> returns the session_key</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>hub.com redirects user-agent
to<BR> spoke.com/index?session_key=...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>spoke.com retrieves user_id for given session_key
and logs user<BR>in as user_id and wraps its app with the appropriate
hub.com skin.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>User uses app as hub.com/user_id </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>----</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Spoke likely has hundreds of hubs that syndicate
its app. So, if a<BR>user were to land up at spoke.com how can they access their
<BR>hub.com/user_id account <BR>- one could use an OpenId like dance without the
server discovery bit</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Merging id's: It is more than likely that a user
will have multiple <BR>accounts at spoke.com, a mechanism to easily merge
accounts could<BR>to be provided at spoke.com</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks<BR>S. Sriram</FONT></DIV></BODY></HTML>