pip install django-social-auth
-
python setup.py install
or add the repository to your pip requirements file. -
Install facebook/python-sdk.
-
Add
'clortho'
to INSTALLED_APPS in settings.py -
Add
'clortho.auth_backends.FacebookBackend'
to AUTHENTICATION_BACKENDS in settings.py. -
Add the following entry to your project-level urls.py
url(r'^clortho/', include('clortho.urls')),
-
Add the following settings to settings.py
# Facebook app secret key. FACEBOOK_SECRET_KEY = 'value_here' # Facebook app id. FACEBOOK_APP_ID = 'value_here' # Will serve as username prefix. FACEBOOK_USER_NAMESPACE = 'fb-' # Name of url to redirect to after authentication. CLORTHO_AUTH_REDIRECT = 'home'
-
Optionally, add 'clortho.context_processors.facebook_api_values' to your TEMPLATE_CONTEXT_PROCESSORS if you'd like a global FACEBOOK_APP_ID context variable for your Facebook JS.
-
Follow the included file
example_template.txt
. Be sure to set the javascript variable FB_APP_ID (or use the FACEBOOK_APP_ID global context variable), as it should match the value of FACEBOOK_APP_ID you filled out earlier in settings.py. Future versions ofdjango-clortho
will contain a more simple and clean way of integrating the necessary javascript and markup. Please consult the Facebook Developer documentation for help. -
Once you have integrated your login and logout methods based on the above example, please run the following command in your projects base directory. After restarting your server,
django-clortho
will be available to use.python manage.py syncdb
- Add other social backends (Twitter, Google Oauth2, Yahoo OpenID, etc.)
- Add convenience methods to model for easy API lookups.
- Add methods to allow existing users to connect with various services.
This project came to be while I started rewriting my 14 year old Ghostbusters
fan site in Python. I wanted a simple pluggable app to tie into the latest
Facebook and Twitter APIs and authentication schemes. Named after
Vinz Clortho, Keymaster of Gozer, django-clortho
will eventually provide
OAuth 2.0-based authentication backends to Facebook Graph API and Twitter Oauth, among others.