Django Rest Framework 过期令牌认证插件安装与使用教程
本教程将引导您了解并设置 django-rest-framework-expiring-tokens
插件,这是一款专为 Django Rest Framework 设计的扩展,用于实现令牌自动过期功能,增强API的安全性。
1. 项目目录结构及介绍
该GitHub仓库的目录结构大致如下:
.
├── LICENSE # 许可证文件
├── README.md # 项目说明文档
├── runtests.py # 测试运行脚本
├── setup.cfg # 配置文件,用于控制setuptools行为
├── setup.py # 包的安装脚本
├── tests # 测试代码目录
│ ├── ...
├── rest_framework_expiring_authtoken # 主要源码目录
│ ├── __init__.py
│ └── ... # 其他相关Python模块
└── tox.ini # Tox测试环境配置文件(可选)
- LICENSE 文件包含了此项目使用的 BSD-2-Clause 开源许可协议。
- README.md 提供了项目简介、安装步骤以及基本配置方法。
- runtests.py 是执行单元测试的脚本。
- setup.py 和 setup.cfg 用于在PyPI上发布此包,并指导如何安装该库。
- rest_framework_expiring_authtoken 目录包含了扩展的核心代码。
2. 项目的启动文件介绍
虽然这个项目并不直接提供一个“启动文件”让你的整个应用跑起来,但关键在于正确集成到您的Django项目中。主要交互点是通过修改您的Django项目设置(settings.py
)来配置认证方式和添加相应的App
到INSTALLED_APPS
列表中,以及可能更改默认的auth token获取视图为插件提供的obtain_expiring_auth_token
。
3. 项目的配置文件介绍
Django项目的settings.py
配置
-
添加到
INSTALLED_APPS
: 确保'rest_framework'
,'rest_framework.authtoken'
, 以及'rest_framework_expiring_authtoken'
加入到了你的INSTALLED_APPS
列表。INSTALLED_APPS = [ # Other apps... 'rest_framework', 'rest_framework.authtoken', 'rest_framework_expiring_authtoken', ]
-
设置令牌过期时间: 在
settings.py
中定义EXPIRING_TOKEN_LIFESPAN
来指定令牌的有效时长,默认是30天,这里以25天为例:import datetime EXPIRING_TOKEN_LIFESPAN = datetime.timedelta(days=25)
-
更新认证机制: 根据需要,你可以全局或按视图调整认证类为
ExpiringTokenAuthentication
。对于全局改变,调整
REST_FRAMEWORK
设置:REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_expiring_authtoken.authentication.ExpiringTokenAuthentication', ) }
-
URL配置: 替换原有的
obtain_auth_token
视图为插件的obtain_expiring_auth_token
。from rest_framework_expiring_authtoken.views import obtain_expiring_auth_token urlpatterns = [ # ... path('api-token-auth/', obtain_expiring_auth_token), ]
完成上述配置后,您的Django Rest Framework应用程序就能利用带过期功能的token进行安全的API认证了。记得执行迁移命令以确保数据库模型的同步更新,特别是在Django 1.7及以上版本。
以上就是关于django-rest-framework-expiring-tokens
的基本集成与配置介绍,遵循这些步骤可以顺利启用令牌的自动过期特性。