django rest框架的身份验证
django-rest-knox的Python项目详细描述
django rest knox
django rest auth的身份验证模块
knox为Django REST Framework提供了易于使用的身份验证,目的是允许 对于基于rest的应用程序中的常见模式 额外的努力;并确保连接保持安全。
knox身份验证是基于令牌的,类似于TokenAuthentication
内置于DRF。但是,它克服了
默认实现:
DRF令牌限制为每个用户一个。这不利于 从多个设备安全登录,因为令牌是共享的。 它还要求all设备在服务器端注销 需要注销(即删除令牌)。
knox为每次调用login视图提供一个令牌-允许每个 客户端拥有自己的令牌,该令牌在服务器端被删除 当客户端注销时。
knox还提供了一个选项,让登录的客户机删除all 服务器具有的令牌-强制所有客户端重新验证。
drf令牌未加密地存储在数据库中。这将允许 如果 数据库被破坏了。
knox令牌只以加密形式存储。即使 数据库不知何故被盗,攻击者将无法登录 带着偷来的证件。
DRF令牌跟踪其创建时间,但没有内置机制 对于过期的令牌。knox令牌可以在 应用程序设置(默认为10小时)。
更多信息可以在 Documentation
在本地运行测试
如果需要在本地调试测试并且安装了docker,请执行以下操作:
只要运行./docker-run-test.sh
脚本,它就会在每个python中运行测试套件/
Django版本。
您也可以在根文件夹中运行常规的tox
,但是这将使测试
python/django版本要复杂一些。
处理文档
我们的文档由Mkdocs生成。
您可以参考他们关于如何在本地安装的文档。
另一种选择是在这个存储库中使用mkdocs.sh
。
它将在docker容器中运行mkdocs。
不带任何参数运行脚本将触发serve
命令。
服务器在本地主机上的端口8000上公开。
要配置端口,serve
命令将服务器公开给
可以使用以下环境变量:
MKDOCS_DEV_PORT="8080"
您还可以传递任何类似这样的mkdocs
命令:
./mkdocs build
./mkdocs --help
查看Mkdocs documentation了解更多信息。