1
votes

google-app-engine-django/ claims to have an "App Engine compatible implementation of the Django authentication framework". Does this authentication work only with Google Accounts? Is it possible to register a user with a username/password and authenticate him/her with that username/password without that user having a Google account?

I would appreciate any pointers to how this could be done with google-app-engine-django without Google Accounts authentication.

2

2 Answers

2
votes

The helper only works with google accounts out of the box. They did not fully implement the django.contrib.auth.models.User object, they only implemented what they needed to link it to a google account.

If you want to use the helper, you need to make some changes to the User implementation to fully implement the interface and you'll probably need to modify the middleware for authentication, etc, and change the appengine_django.auth.models.User object so the user = db.UserProperty is no longer required.

1
votes

Google Account authentication is simply an API provided by App Engine - there's nothing forcing you to use it. As a result, all of Django's facilities except its models (which rely on a relational DB) are available in the helper. However, as far as I'm aware, the helper is deprecated and no longer supported. More recent is app-engine-patch, but even that is deprecated in favor of the new django-nonrel.