|
|
Introduction
Django authentification application to with openid using django auth contrib/.
This application allow a user to connect to you website with :
- legacy account : username/password
- openid url
Idee is having ma.gnolia workflow to integrate openid and legacy authentification.
If the user connect with an openid he could associate it with its legaccy account or just create a new django account. When the user is connected you could manage him like you usually do with auth contrib :
http://www.djangoproject.com/documentation/authentication/
This application also provide view to :
- change password
- change account email
- change associated openid
- delete account
- send a new password
Requirements
Set your django project
To use django_authopenid add ''django_authopenid.middleware.OpenIDMiddleware' to MIDDLEWARE_CLASSES and
'django_authopenid',
to INSTALLED_APP.
then add django_authopeid.urls to urls.py, for example :
(r'^account/', include('django_authopenid.urls')),so all django_authopenid view will be available under account/ path.
Set also your LOGIN_URL in settings.py to something like this:
ugettext = lambda s: s
LOGIN_URL = '/%s%s' % (ugettext('account/'), ugettext('signin/'))To install tables, run :
python manage.py syncdb
Use it
urls
all code is documented so you could esayly know what do a view.
- signin/signup :
- /account/signin : go to signin page
- /account/signout : signout url
- /account/signin/complete/ : register openid after signin
- /account/signup : legacy authentification
- /account/sendpw : send a new password
- /account/password/confirm : confirm change of password
- account settings :
- /acount : main page of account for user with username username
- /account/password: change password page
- /account/email : change email page
- /account/delete : delete account
- /account/openid : associate a new openid for an account.
templates
Templates are in templates/authopenid folder :
- changeemail.html : change email page
- changepw.html : change password
- sendpw.html : send password
- changeopenid.html : associate new openid
- delete.html : delete password
- sendpw_email.txt : send new password email template
- settings.html : index page
- complete.html : complete page after signin (register openid)
- confirm_email.txt : confirm registration mail template
- signin.html : signin page
- signup.html : legacy registration
Sign in to add a comment

I think "To use django_authopenid add ''django_openidconsumer.middleware.OpenIDMiddleware' to MIDDLEWARE_CLASSES" should read "To use django_authopenid add ''django_authopenid.middleware.OpenIDMiddleware' to MIDDLEWARE_CLASSES"
indeed :) Thanks.
Could you also add ./manage.py syncdb step to 'Set your django project' section for newbies like me? : ) I've just lost an hour of my life because of that.
Definately add python manage.py syncdb,
also some people (like me) might not have elementtree installed, might want to mention this
apt-get install python-elementtree
fixed it for me
Just for the sake of completeness :)
You must have a template named "base.html" in one of your template directories - I presume, that author has the directory .../django/django/contrib/admin/templates/admin/ already included in TEMPLATE_DIRS, but this is not the default (as far as django's trunk #7120 is concerned).
can't access any url below account, e.g. /account/signin/
where should LOGIN_URL be set? at settings.py?
I've got a problem with sending signup emails.
http://code.google.com/p/django-authopenid/issues/detail?id=10
@fccoelo LOGIN_URL should be set in settings.py, yeah @leidel fixed in trunk
@evan.reiser done, thanks
is there a django based openid provider out there?
If we also wanted django-registration support, how would this factor in? Has anybody done that?