💡
原文中文,约1100字,阅读约需3分钟。
📝
内容提要
本文介绍如何在Django Rest Framework中使用JWT认证。JWT不是内置的认证方式,需要通过第三方库djangorestframework-jwt来实现。安装后,通过设置路由和配置settings.py来启用JWT认证。每次访问视图时都会进行认证,并可自定义返回的数据。
🎯
关键要点
- JWT认证不是Django Rest Framework自带的功能,需要使用第三方库djangorestframework-jwt。
- 安装djangorestframework-jwt后,需要在settings.py中配置REST_FRAMEWORK以启用JWT认证。
- 每次访问视图时,都会调用JSONWebTokenAuthentication.authenticate进行认证。
- 可以自定义JWT的返回数据,默认只返回'token'字段,其他字段如user.id和user.username可以根据需要添加。
❓
延伸问答
如何在Django Rest Framework中启用JWT认证?
需要安装第三方库djangorestframework-jwt,并在settings.py中配置REST_FRAMEWORK以启用JWT认证。
JWT认证的默认返回数据是什么?
默认只返回'token'字段,其他字段如user.id和user.username可以根据需要添加。
如何自定义JWT的返回数据?
可以通过设置JWT_AUTH中的'JWT_RESPONSE_PAYLOAD_HANDLER'来自定义返回的数据。
每次访问视图时会发生什么?
每次访问视图时,都会调用JSONWebTokenAuthentication.authenticate进行认证。
JWT的过期时间如何设置?
可以在JWT_AUTH中设置'JWT_EXPIRATION_DELTA'来定义过期时间,例如设置为30分钟。
如何安装djangorestframework-jwt库?
可以通过命令'pip install djangorestframework-jwt'来安装该库。
➡️