代码之家  ›  专栏  ›  技术社区  ›  JChao

在点击django管理登录页面时直接验证用户

  •  0
  • JChao  · 技术社区  · 8 年前

    我有一个reactjs应用程序已经有一个用户登录。我附加了一个web应用程序的链接,使用户能够访问Django管理页面,但目前它仍然需要用户登录。

    我想绕过登录,因为用户在登录react应用程序时已经通过身份验证。

    如何绕过登录页并告诉django此用户已通过身份验证?如果我还想从 request ? 在哪里可以访问请求对象?

    编辑:

    我应该指定我想检查本地存储中已有的auth令牌,然后直接对外部用户进行身份验证。如果auth令牌不存在,我仍然应该点击django管理登录页面

    编辑2:

    创建了一个自定义页来处理Auth0身份验证。但我不知道下一步该怎么办。这个 request.user 在这一点上 AnonymousUser 我真的不能动手术。无法识别这是谁(但我可以成功检查此用户是否具有权限)

    我计划创建一个用户并授予它超级用户权限?这是正确的方法吗?

    编辑3:

    login(request, request.user, backend='django.contrib.auth.backends.RemoteUserBackend')
    return HttpResponseRedirect("/my/url")
    

    我得到了

    'AnonymousUser' object has no attribute '_meta'
    

    这是身份验证问题的一部分吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Diego Vinícius    8 年前

    你不应该“绕过登录”你需要使用授权令牌。。。要确定正在使用API的客户机实际上是您而不是其他任何人

    这个过程非常简单,一旦你发送用户名和密码到你的后端(django),你将在你的前端(react)回复一个自动调整令牌,并且你的前端的每一个请求都会添加到头中

    使用django_rest_框架或类似的东西(作为tastype)

    http://www.django-rest-framework.org/api-guide/authentication/