在 django rest 框架中使用 "Token" 作为身份验证方案的动机是什么?
What is the motivation in using "Token" as authentication scheme in django rest framework?
Django rest framework 提供了一个TokenAuthentication class for authentication. It validates against header in the format of Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
. The authentication scheme, Token
, seems customarily chosen. The iana auth scheme registry的列表
截至今天 (2019-12-20),身份验证方案名称不包括 Token
。
上面iana中没有提到的两个背景RFClink:
所以我的问题是
- 是否是自定义方案,如果是
- 在
Authorization
header 中使用自定义身份验证方案有多普遍
- 选择
Token
作为方案的动机是什么
- 还有哪些库也使用
Token
作为方案
更复杂的是,django-rest-framework-jwt provides a JWT authentication class , which adopt JWT
as the scheme. According to this question,正确的选择是Bearer
IANA 身份验证方案比实施令牌时(根据 this PR 为 2012 年)更新(链接文档为 2014 年)。
此后情况发生了变化,但迁移需要大量工作,现在有更好的选择。
Django rest framework 提供了一个TokenAuthentication class for authentication. It validates against header in the format of Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
. The authentication scheme, Token
, seems customarily chosen. The iana auth scheme registry的列表
截至今天 (2019-12-20),身份验证方案名称不包括 Token
。
上面iana中没有提到的两个背景RFClink:
所以我的问题是
- 是否是自定义方案,如果是
- 在
Authorization
header 中使用自定义身份验证方案有多普遍
- 选择
Token
作为方案的动机是什么 - 还有哪些库也使用
Token
作为方案
更复杂的是,django-rest-framework-jwt provides a JWT authentication class , which adopt JWT
as the scheme. According to this question,正确的选择是Bearer
IANA 身份验证方案比实施令牌时(根据 this PR 为 2012 年)更新(链接文档为 2014 年)。 此后情况发生了变化,但迁移需要大量工作,现在有更好的选择。