You technically do have a unique user ID once you take into account
the domain name of the container you are using.  I agree that it would
be nice to have a globally unique identifier for each user, but it
wouldn't be feasible for OpenSocial to force orkut, Hi5, MySpace, and
any other OpenSocial partners to agree to switch to OpenID
infrastructure from their current login systems.  Eventually that may
be more possible as OpenID support increases, but it hasn't been
talked about much at this point.

As a note, I probably shouldn't have numbered the steps I listed out,
since it seems like the user would have to do a lot of work to connect
accounts.  Following the above flow, the user would only really need
to do the following:

   1.) Log into hi5
   2.) Click a button on your application
   3.) Copy the response token
   4.) Log into orkut
   5.) Paste the token into your application.

Your database and server could handle the rest of the process.

~Arne



On Tue, Apr 29, 2008 at 7:38 PM, Sav <[EMAIL PROTECTED]> wrote:
>
>  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
>  >
>



-- 
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