Source

django-authopenid / README

django_authopenid 
Author : Benoît Chesneau <benoitc@metavers.net>
Url : http://code.google.com/p/django-authopenid/

Updated version of this doc is always here :
http://code.google.com/p/django-authopenid/wiki/README


= 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 [http://ma.gnolia.com/ 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 =

 * [http://openidenabled.com/python-openid/ python-openid 2.x]
 * [http://effbot.org/zone/element-index.htm python-elementreee (for python 2.4x)]
 * [http://code.google.com/p/httplib2/ httplib2]

= 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/password : send a new password
  * /account/password/confirm : confirm change of password
 * account settings : 
  * /acount : main page of account for user  
  * /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