Thanks! Your 9-step approach is very helpful.

I'm a little sad to realize that most OpenSocial apps will treat you
as a different user just because you're on a different domain.
Compound that across Web, Facebook, Bebo, etc.

OpenSocial should have mandated the containers support OpenID so we
have a unique user id to work with ;)



On Apr 29, 2:11 pm, "Arne Roomann-Kurrik" <[EMAIL PROTECTED]>
wrote:
> You could theoretically build a token authentication system to link
> accounts.  For example, if a user has your gadget installed on both hi5 and
> orkut, and wants to connect accounts, you could have them do something like
> the following:
>
>    1.) Have the user log in on hi5.
>    2.) Give the user an interface to link accounts, give them a button to
> generate a token.
>    3.) The button initiates a signed makeRequest call back to your server,
> which obtains the hi5 ID.
>    4.) Your server generates a random token and stores it along with the hi5
> ID.
>    5.) Your app prints the token and instructs the user to paste it into the
> app on orkut.
>    6.) The user logs into orkut and loads your gadget.
>    7.) The user pastes the token and makes a signed request call back to
> your server.
>    8.) Your server gets the passed token and obtains the user's orkut ID
> from the signed request.
>    9.) Your server looks up the token in its database and links the orkut
> and hi5 ID numbers.
>
> There are likely other approaches, some of which may require fewer steps,
> but its at least possible
> to verifiably link together accounts on different services.
>
> Hope this helps,
> ~Arne
>
>
>
> On Tue, Apr 29, 2008 at 11:31 AM, Sav <[EMAIL PROTECTED]> wrote:
>
> > Thanks.  I'm trying to figure out how to build a "unified login" so
> > that users don't have to re-setup everything on each platform/
> > container.
>
> > I'm thinking about setting up a master "users" table that can support
> > username/email/password authentication as well as one OpenID url and
> > one Facebook app per user.  Each user will also have many OpenSocial
> > identities.
>
> > ### users (*all fields optional) ###
> > id
> > username
> > email
> > password
> > openid_url
> > facebook_id
> > facebook_session
>
> > ### users_opensocials ###
> > id
> > user_id
> > opensocial_environment
> > opensocial_id
>
> > The problem gets tricky when an existing user (whether having a
> > password or on another opensocial container) arrives on a new
> > container.  I'm not sure to sync the new user with their other
> > account(s).  This problem is compounded if supporting multiple OpenIDs
> > and/or multiple Facebook apps per user.
>
> > Is anyone else trying to tackle this problem?  Any insight would be
> > greatly appreciated.
>
> > On Apr 29, 10:58 am, "Arne Roomann-Kurrik" <[EMAIL PROTECTED]>
> > wrote:
> > > No, the Person ID numbers are only unique within each container.
> >  Fromhttp://code.google.com/apis/opensocial/docs/0.7/spec.html:
>
> > > "One of the pieces of data that is always returned with a Person object
> > is
> > > the user's ID. The user ID must be alphanumeric (A-Za-z0-9) and must
> > > uniquely identify the user in a container. This standardization is
> > intended
> > > to allow for prefixing IDs with a domain name and separator to create
> > > globally unique IDs (e.g. "orkut.com:34KJDCSKJN2HHF0DW20394"). Note that
> > > there will likely be a size limit placed on user IDs to help manage
> > storing
> > > IDs in a database."
>
> > > Hope this helps,
> > > ~Arne
>
> > > On Tue, Apr 29, 2008 at 10:49 AM, Sav <[EMAIL PROTECTED]> wrote:
>
> > > > Are the Person IDs unique or are they only unique within the
> > > > Environment domain?
>
> > > > opensocial.Person.getId()
> > > > Gets an ID that can be permanently associated with this person.
>
> > > > opensocial.Environment.getDomain()
> > > > Returns the current domain — for example, "orkut.com" or
> > > > "myspace.com".
>
> > > --
> > > OpenSocial IRC - irc://irc.freenode.net/opensocial
>
> --
> OpenSocial IRC - irc://irc.freenode.net/opensocial
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenSocial Application Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/opensocial-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to