# auth0 for django admin

**URL:** <https://forum.djangoproject.com/t/auth0-for-django-admin/24908>\
**Category:** Getting Started\
**Created:** [October 30, 2023, 6:47pm UTC](https://forum.djangoproject.com/t/auth0-for-django-admin/24908 "2023-10-30T18:47:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![MohiuddinSumon](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/mohiuddinsumon/32/15717_2.png) [@MohiuddinSumon](https://forum.djangoproject.com/u/MohiuddinSumon)\
**Post date:** [October 30, 2023, 6:47pm UTC](https://forum.djangoproject.com/t/auth0-for-django-admin/24908/1 "2023-10-30T18:47:44Z")

</div>

Hi,

I am trying to use auth0 based login for django admin, I can see that auth0 part works I can even find the proper user of my db. then I tried to log in the user with auth’s login(request, user) but seems that is not working, I end up anonymous user in request and end up looping in login → callback … etc

```auto

def login(request):
    print("IN LOGIN" , request.user)
        return oauth.auth0.authorize_redirect(
            request, request.build_absolute_uri(reverse("callback"))
        )

def callback(request):
    print("IN CALLBACK")
    print(request.session)
    token = oauth.auth0.authorize_access_token(request)
   # oauth is form authlib package

    user = authenticate(auth_id=token.get('userinfo').get('sub'))
    print("USER = ", user) # I get proper user 

    if user:
        request.user = user
        auth_login(request, user)
       # from django.contrib.auth import login as auth_login
        print("AFTER AUTH LOGIN")
      
        return redirect(request.build_absolute_uri(reverse("admin:index")))
    else:
        return redirect(request.build_absolute_uri(reverse("login")))

```

Here is my urls:

```auto
urlpatterns = [
    path("", views.index, name="index"),
    path("login", views.login, name="login"),
    path("logout", views.logout, name="logout"),
    path("callback", views.callback, name="callback"),
    path('admin/login/', views.login, name="login"),
    path('admin/', admin.site.urls),
...

```
