Login

Use django-social-auth & Google Accounts for admin login

Author:
pmdarrow
Posted:
December 4, 2012
Language:
Python
Version:
1.4
Tags:
admin login auth google openid django-social-auth
Score:
0 (after 0 ratings)
  1. Create an app and place this in admin.py.
  2. Add url(r'^login/$', 'social_auth.views.auth', {'backend': 'google'}, name='login') to your urls.py.
  3. Add the app to your INSTALLED_APPS after django.contrib.admin.
  4. Set USE_SOCIAL_AUTH_AS_ADMIN_LOGIN = True in your settings.py.
  5. ...
  6. Profit.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from django.conf import settings
from django.contrib import admin
from django.contrib.auth.views import redirect_to_login
from django.core.exceptions import PermissionDenied

# Support for allowing social_auth authentication for /admin (django.contrib.admin)
if getattr(settings, 'SOCIAL_AUTH_USE_AS_ADMIN_LOGIN', False):

    def _social_auth_login(self, request, **kwargs):
        if request.user.is_authenticated():
            if not request.user.is_active or not request.user.is_staff:
                raise PermissionDenied()
        else:
            return redirect_to_login(request.get_full_path())

    # Overide the standard admin login form.
    admin.sites.AdminSite.login = _social_auth_login

More like this

  1. ImageField for Google App Engine by davepeck 5 years, 7 months ago
  2. Admin App/Model Custom Ordering by stephen_mcd 5 years, 4 months ago
  3. Twin column model admin index by richardbolt 7 years, 3 months ago
  4. Google Closure support in django-compress by fabrice.bonny 5 years, 7 months ago
  5. Using Google Apps Premium infrastructure for user management by tommy 6 years, 11 months ago

Comments

Please login first before commenting.