自定义返回jwt验证数据
程序员文章站
2022-06-13 20:13:27
...
jwt数据返回
-
验证成功时候:
- 创建有给utli文件,重写jwt_response_payload_handler方法
def jwt_response_payload_handler(token, user=None, request=None): return { 'token': token, 'id': user.id, 'username': user.username, }
- 在setting里面进行配置:
JWT_AUTH= { JWT_RESPONSE_PAYLOAD_HANDLER': 'drf.utils.jwt_response_payload_handler', }
- 创建有给utli文件,重写jwt_response_payload_handler方法
-
验证失败的时候
- 需要修改一下源码
- 需要修改一下源码
-
创建一个**`custom_exception**文件
from rest_framework.views import exception_handler from rest_framework.exceptions import ValidationError def custom_exception_handler(exc, context): response = exception_handler(exc, context) if isinstance(exc, ValidationError): response.data['code'] = response.status_code response.data['data'] = [] if isinstance(response.data, dict): response.data['message'] = list(dict(response.data).values())[0][0] for key in dict(response.data).keys(): if key not in ['code', 'data', 'message']: response.data.pop(key) else: response.data['message'] = '输入有误' return response if response is not None: response.data.clear() response.data['code'] = response.status_code response.data['data'] = [] if response.status_code == 404: try: response.data['message'] = response.data.pop('detail') response.data['message'] = "未找到" except KeyError: response.data['message'] = "未找到" if response.status_code == 400: response.data['message'] = '输入错误' elif response.status_code == 401: response.data['message'] = '未认证' elif response.status_code >= 500: response.data['message'] = "服务器错误" elif response.status_code == 403: response.data['message'] = "权限不允许" elif response.status_code == 405: response.data['message'] = '请求不允许' else: response.data['message'] = '未知错误' return response
-
在setting里面进行配置
'EXCEPTION_HANDLER': ( 'app06.custom_exception.custom_exception_handler'
)
```
推荐阅读
-
js中自定义react数据验证组件实例详解
-
编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:求解这三个整数的最大值,函数的返回值为三个参数的最大值。编写一个程序,从键盘输入N组数据,每组分别是任意5个整数,通过两次调用用户自定义函数
-
ajax提交手机号去数据库验证并返回状态值
-
spring boot2.x 后端参数校验+统一异常处理+后端自定义全局统一接口返回响应数据格式
-
Nest.js参数校验和自定义返回数据格式详解
-
自定义react数据验证组件
-
浅析JS中什么是自定义react数据验证组件
-
自定义返回jwt验证数据
-
ajax提交手机号去数据库验证并返回状态值实例详解
-
ajax提交手机号去数据库验证并返回状态值