首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django JWT auth:为什么视图总是返回AnonymUser?

Django JWT auth是一个基于JSON Web Token(JWT)的身份验证库,用于在Django应用程序中实现身份验证和授权功能。它提供了一种安全且可扩展的方式来验证用户身份,并生成和验证JWT令牌。

当视图总是返回AnonymUser时,可能有以下几个原因:

  1. 未正确配置JWT身份验证:确保在Django的设置文件中正确配置了JWT身份验证相关的参数,包括密钥、有效期等。可以参考腾讯云的JWT身份验证产品文档(https://cloud.tencent.com/document/product/1154/39253)了解如何正确配置。
  2. 未正确处理JWT令牌:在视图函数中,需要正确处理JWT令牌。首先,确保从请求头或其他适当的位置获取JWT令牌。然后,使用JWT库解码和验证令牌,并从中提取用户信息。最后,将用户信息与请求关联起来,以便在后续的请求中进行身份验证和授权。
  3. 未正确设置身份验证中间件:在Django的中间件配置中,需要确保JWT身份验证中间件正确地添加到中间件列表中,并且位于Django认证中间件之后。这样才能确保JWT令牌在请求到达视图函数之前进行验证和解码。
  4. 未正确配置用户模型:如果视图总是返回AnonymUser,可能是因为未正确配置用户模型。确保在Django的设置文件中正确配置了用户模型,并将其与JWT身份验证库进行关联。

总结起来,要解决视图总是返回AnonymUser的问题,需要确保正确配置JWT身份验证、正确处理JWT令牌、正确设置身份验证中间件以及正确配置用户模型。可以参考腾讯云的JWT身份验证产品文档(https://cloud.tencent.com/document/product/1154/39253)获取更详细的配置和使用说明。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django(72)Django认证系统库–djoser「建议收藏」

作用:Django认证系统的REST实现。djoser库提供了一组Django Rest Framework视图,用于处理注册、登录、注销、密码重置和帐户激活等基本操作。它适用于自定义用户模型。...最后,如果您打算使用基于第三方的身份验证,例如facebook,则需要安装社交身份验证应用程序django,其中包括: pip install -U social-auth-app-django 配置信息...djoser.urls')), ] 官网上强调了:默认情况下,HTTP Basic Auth验证策略采用Django Rest Framework。...用户登录 我们访问用户登录接口,就可以返回一个token 登录后查询用户信息 然后我们在headers中添加Authorization,对应的值为Token 刚刚返回的token值,注意中间要有一个空格...使用授权时的请求头中的请求标识,格式为:JWT ,配置信息如下: SIMPLE_JWT = { 'AUTH_HEADER_TYPES': ('JWT',), } 最后在

1.8K20

美多商城前三天重点内容大盘点

美多商城前三天重点内容大盘点 文章导航 1.自定义Django认证系统用户模型类 2.跨域请求 3.celery异步任务发短信 4.JWT认证机制 5.自定义jwt扩展登录视图响应数据函数 6.自定义Django...Django提供的用户模型类是 django.contrib.auth.models.AbstractUser,我们导入便可使用。...5.自定义jwt扩展登录视图响应数据函数 jwt扩展中提供了一个登录视图 obtain_jwt_token这个登录视图就是接收username和password,并对账户名和密码进行校验,校验通过之后会生成一个...' } 6.自定义Django认证后端类(登录账户支持用户名和手机号) 1. obtain_jwt_token登录视图中没有自己实现账户名和密码校验的代码,而是调用了Django认证系统中一个函数进行账户和密码的校验...3.Django认证后端类 from django.contrib.auth.backends import ModelBackend 在 ModelBackend类中 authenticate最终实现了账户和密码校验代码

76520

5 分钟,快速入门 Python JWT 接口认证

为了反爬或限流节流,后端编写接口时,大部分 API 都会进行权限认证,只有认证通过,即:数据正常及未过期才会返回数据,否则直接报错 本篇文章以 Django 为例,聊聊后端 JWT 接口认证的操作流程...、加密方式等 import time import jwt from django.conf import settings def generate_jwt_token(user): """...解密,并进行数据库查询,只有认证通过才返回数据,否则抛出异常 import time import jwt from django.conf import settings from django.contrib.auth...# jwt解码 try: jwt_token = auth[1] jwt_info = jwt.decode(jwt_token, settings.SECRET_KEY...最后 在实际项目中,一般在登录的时候生成 JWT Token,后续接口中只需要在请求头中设置 JWT Token 即可正常返回数据 import requests url = "***.***.***

1.6K50

美多商城项目(二)

),保存了登录用户的身份信息 公安局(服务器)--->身份证(jwt token) 4.返回响应时,需要将jwt token返回给客户端 客户端需要将jwt token保存下来,然后在请求服务器时...token" } jwt扩展中提供了一个登录视图 obtain_jwt_token这个登录视图就是接收username和password,并对账户名和密码进行校验,校验通过之后会生成一个jwt...' } 3.2登录账户支持手机号和用户名 1. obtain_jwt_token登录视图中没有自己实现账户名和密码校验的代码,而是调用了Django认证系统中一个函数进行账户和密码的校验。...2.认证系统中的 authenticate from django.contrib.auth import authenticate 而 authenticate方法内容也没有自己实现账户和密码校验的代码...3.Django认证后端类 from django.contrib.auth.backends import ModelBackend 在 ModelBackend类中 authenticate最终实现了账户和密码校验代码

1.1K30

Django(75)django-rest-framework-simplejwt「建议收藏」

前言 由于之前我们一直使用的django-rest-framework-jwt 这个库,但是作者在17年的时候就已经不再维护了(有部分bug没有解决),所以我们也就不用了,目前我们使用django-rest-framework-simplejwt...介绍 Simple JWTDjango REST Framework提供了JSON Web TOKEN身份验证。...并且借鉴了DRF中的另一个JSON web token库和django-rest-framework-jwt 安装 1.使用以下pip命令安装 pip install djangorestframework-simplejwt.../ 可以看到返回了access和refresh两个token access:默认5分钟的有效期 refresh:当access过期了,就需要传入refresh字段,重新刷新token,访问http...': ('Bearer',), # 认证的标签头,类似jwt token中的jwt 'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION', # 身份验证的授权标头名称

1.7K40

Django OAuth2 和 JWT 案例

Django OAuth2 和 JWT 案例 Posted August 08, 2017 在重写 Ansible 监控平台时, 需要前后端分离, 并且需要使用公司的账户系统。...而前后端认证我一直采取的 JWT 认证规范,具体为什么这么选择, 这里不多讲。而符合DRF 的JWT 框架, 默认使用的是 Django 自带的账户系统做的。...如果没有此用户则创建, 并设置未激活状态 如果有此用户, 并且处于未激活状态, 则提示用户找管理员激活 如果已经激活, 返回登录此用户并返回 jwt. """ import requests from...import status from rest_framework.response import Response from django.conf import settings from web.auth.../obtain Python from django.conf.urls import url, include from web.auth.jwt import teambition_obtain_jwt_token

1.3K50

Django REST framwork的权限验证实例

JSONWebTokenAuthentication, SessionAuthentication) 注意:authentication_classes设置的是:用户可以通过哪种方式登录系统,例如:JWT...只有拥有者才能编辑它 ''' def has_object_permission(self, request, view, obj): # 读权限 向所有请求开放 # 所以我们总是允许...UserSerializer from rest_framework import generics from snippets.permissions import IsOwnerOrReadOnly from django.contrib.auth.models...请求要进行某个操作的时候 – 2、传递参数将授权类列表中的多个授权类实例化得到实例化对象- 3、调用所有授权实例对象的has_、permission以及has_object_permission方法 – 4、所有的返回结果都为...以上这篇Django REST framwork的权限验证实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.1K10

给你一个优秀的Django工程模板

需要安装的Python库 django djanglrestframework django-cors-headers jwt 初始化Django工程 django-admin startproject...增加多数据库配置 在xingxing目录下增加router.py文件 路由配置文件当中的返回值是我们在DATABASES中配置的键,默认是default,按照一定的条件返回不同的键,每个键内配置不同的数据库连接...DATABASE_ROUTERS = ['xingxing.router.CustomRouter'] 设置自定义用户模型 在apps下增加users应用 在models.py下增加如下内容 from django.contrib.auth.models...'users' ]AUTH_USER_MODEL = 'users.UserInfo' 解决跨域问题 为什么会有跨域问题,这里就不做详细解释了,可以看一下两篇文章 前后端分离djangorestframework...方式 在utils目录创建user_backend.py文件 from django.contrib.auth import backends from django.db.models import

1.6K21
领券