Installation¶
Using pip simply by doing:
pip install django-mongo-auth
You should then add mongo_auth and dependency django_browserid to INSTALLED_APPS. Add
django_browserid.context_processors.browserid_form to TEMPLATE_CONTEXT_PROCESSORS to conclude
django_browserid installation. Add mongo_auth.middleware.LazyUserMiddleware just after
django.contrib.auth.middleware.AuthenticationMiddleware in MIDDLEWARE_CLASSES.
Optionally, to use provided templates, you can add mongo_auth.contrib and sekizai to
INSTALLED_APPS, and mongo_auth.contrib.context_processors.mongo_auth and
sekizai.context_processors.sekizai to TEMPLATE_CONTEXT_PROCESSORS, too.
Afterwards, you configure authentication providers you want to offer:
AUTHENTICATION_BACKENDS = (
'mongo_auth.backends.MongoEngineBackend',
'mongo_auth.backends.FacebookBackend',
'mongo_auth.backends.TwitterBackend',
'mongo_auth.backends.FoursquareBackend',
'mongo_auth.backends.GoogleBackend',
'mongo_auth.backends.BrowserIDBackend',
'mongo_auth.backends.LazyUserBackend',
)
Some require API keys by providers. Available settings:
FACEBOOK_APP_IDFACEBOOK_APP_SECRETTWITTER_CONSUMER_KEYTWITTER_CONSUMER_SECRETFOURSQUARE_CLIENT_IDFOURSQUARE_CLIENT_SECRETGOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET
If you want to use custom User class (like mongo_auth.contrib.models.User), you can set USER_CLASS to it.
Default is mongo_auth.models.User.
DEFAULT_USER_IMAGE can be used to configure user image for users without one. By default it is
mongo_auth/images/unknown.png.
Because django.contrib.sites does not work with MongoEngine, you can use SITE_NAME and DEFAULT_REQUEST
to configure what site name is displayed and manually how full URLs are generated, respectively.
Add to project’s urls.py:
url(r'^', include('mongo_auth.contrib.urls')),