Dear group,
I propose some work on adding providers for authentication similar to django social-auth or the discontinued project (
http://code.google.com/p/gaema/)
I have this variable in a file
openIdProviders = (
'Google.com/accounts/o8/id', # shorter alternative: "Gmail.com"
'Yahoo.com',
'MySpace.com',
'AOL.com',
'MyOpenID.com',
# add more here
)
A good reference for facebook integration is their application runwithfriends (
apps.facebook.com/runwithfriends) and that has a rather specific base request handler that can be used with a webapp.
I think it could be a variable for the extension of providers with facebook, twitter etc...But when I add facebook and twitter it's with a new base request handler and oauth which is rather different than openid. We're working towards implementing to make it easy to add a provider and adding and managing providers for a user could be to use a data structure like this one or similar since I think we might not have to also add the facebook id since we already know the user from the user model
It depends on deciding how you want authentication to work: If you login with facebook and do stuff I currently at least save facebook id and if the user has a gaeframework ID then you could keep a reference for users who combine their gaeframework accounts with a facebook account so that you don't have to have a new variable if you don't want to make a change that results in many objects having None or no value (like defining a variable facebookID for an antity is OK but that results in many entities having this variable with None or no value when most entities were not facebooked.
I posted to the google group about this
https://groups.google.com/forum/#!topic/google-appengine-python/mzyi5a2m40oI think it needs some integration just like Anton said that the user model should be fixed. I use 2 different user models for 2 different projects and I surely could use just one more flexible User model.
Cheers
Niklas