jrgifford / jaikuengine

Automatically exported from code.google.com/p/jaikuengine
Apache License 2.0
1 stars 0 forks source link

It should be possible to set up a JaikuEngine instance to use either standard Google Accounts or GAFYD Accounts #111

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Go to a JaikuEngine instance
2. Try to login with your Google Account

What is the expected output? What do you see instead?
JaikuEngine instances want you to use their custom authentication and
accounts system. Instead they should support standard Google Accounts and
Google Apps For Your Domain Accounts so that it is possible to set up an
instance for use by people within a domain or so that people can use the
same credentials they use for GMail.

There should a flag in settings.py indicating if Google Accounts should
used, if GAFYD Accounts should be used or if the built-in accounts system
should be used.

/join/views.py should be changed so that if we're using one of the two
Google Accounts systems then they're sent off to Google to sign in and we
register/confirm the user's existing email address rather than asking them
for it. /join/templates/form_join.html needs to be changed so that we don't
show the form fields for adding email address and password if they're a
Google registered user.

/login/views.py needs to be changed so that if they're a Google registered
user (and the non-JE account system is turned on) then the login_login
function either makes them sign up for a JE account or logs them in based
on their Google email address.

/actor/templates/settings_index.html needs to be changed so that if the
non-JE account system is turned on then we don't show the option to update
your email address or change your password.

/actor/templates/settings_profile.html needs to be changed so that if the
non-JE account system is turned on then we don't show the option to update
your email address

/actor/templates/settings_base.html needs to be changed so that if the
non-JE account system is turned on then we don't show the option to update
your email address or your password.

/common/api.py has an actor_get() function that needs to be tweaked so that
if we ask for the ROOT user and they don't yet have an account (which is
likely to happen because we can't arbitrarily create new Google Accounts)
then we create a JE actor based on the Google user's email address and make
that the the ROOT user. In other words we get the ROOT user's actor_ref
using Actor.get_or_insert() rather than the Actor.get_by_key_name() that we
use for normal users.

In the user_create() function we shouldn't validate the user's password if
they're a Google registered user since we wont' have access to that
password anyway.

All of the above assumes that JE users will have the same names as their
email accounts. So adewale+example@gmail.com will either become a JE user
called adewale.example or we'll have to offer a mapping from an arbitrary
JE username to a Google email address.

Please use labels and text to provide additional information.
identity, accounts,

Original issue reported on code.google.com by adewale on 7 May 2009 at 7:55

GoogleCodeExporter commented 8 years ago

Original comment by andyster on 19 May 2009 at 1:34