django rest_framework使用jwt

django rest_framework使用jwt

💡 原文中文,约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'来安装该库。

➡️

继续阅读