django-rest-framework 令牌授权和注销
django-rest-framework Token Auth and logout
据了解,obtain_auth_token
视图用作登录功能。您提供凭据并取回令牌。注销将是什么?我应该在注销时删除令牌吗?最佳做法是什么?
如果删除没问题,那么如何同时处理多个客户端。比如说,用户从移动设备注销,但想在网络上保持登录状态。 Token
模型当前与 User
.
具有 OneToOne 关系
请多多指教。谢谢
Django REST framework 提供的TokenAuthentication
旨在用作非常简单的令牌 身份验证。我的意思是,你得到
- 将API消费者与用户联系起来的简单令牌
- ...那个doesn't rotate by default
- ...那个doesn't expire by default
- ...在 API 消费者之间共享(单个令牌)
如果您正在寻找比这更高级的东西,您通常必须研究不同的令牌身份验证方法。这可以像继承标准 TokenAuthentication
类 和视图(如链接)一样简单,但 Token
模型不容易交换。这意味着将 user
字段更改为 ForeignKey
,允许您为一个用户拥有多个令牌,并不容易实现。
幸运的是,Django REST 框架 does support other authentication methods, such as OAuth and JSON Web Tokens, both of which support multiple tokens for users. You can find a comparison of the common authentication classes at this Stack Overflow answer。
据了解,obtain_auth_token
视图用作登录功能。您提供凭据并取回令牌。注销将是什么?我应该在注销时删除令牌吗?最佳做法是什么?
如果删除没问题,那么如何同时处理多个客户端。比如说,用户从移动设备注销,但想在网络上保持登录状态。 Token
模型当前与 User
.
请多多指教。谢谢
Django REST framework 提供的TokenAuthentication
旨在用作非常简单的令牌 身份验证。我的意思是,你得到
- 将API消费者与用户联系起来的简单令牌
- ...那个doesn't rotate by default
- ...那个doesn't expire by default
- ...在 API 消费者之间共享(单个令牌)
如果您正在寻找比这更高级的东西,您通常必须研究不同的令牌身份验证方法。这可以像继承标准 TokenAuthentication
类 和视图(如链接)一样简单,但 Token
模型不容易交换。这意味着将 user
字段更改为 ForeignKey
,允许您为一个用户拥有多个令牌,并不容易实现。
幸运的是,Django REST 框架 does support other authentication methods, such as OAuth and JSON Web Tokens, both of which support multiple tokens for users. You can find a comparison of the common authentication classes at this Stack Overflow answer。