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