在DjangoRestFramework中,您可以更改标题中的关键字以进行标记验证。
来自docs
注意:如果要在标题中使用其他关键字,例如 Bearer,只是子类TokenAuthentication并设置关键字class 变量
更改默认关键字的目的是什么? 我已经看过“Bearer',' Basic'以及其他一些变体,但只是不明白这样做的目的。 谁能解释一下?
答案 0 :(得分:4)
我发现了如何将keyword
传递给TokenAuthentication
。
class BearerAuthentication(authentication.TokenAuthentication):
'''
Simple token based authentication using utvsapitoken.
Clients should authenticate by passing the token key in the 'Authorization'
HTTP header, prepended with the string 'Bearer '. For example:
Authorization: Bearer 956e252a-513c-48c5-92dd-bfddc364e812
'''
keyword = 'Bearer'
然后,我们将使用authentication.TokenAuthentication
settings.py
中使用BearerAuthentication
# settings.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'your.models.BearerAuthentication',
)
}
答案 1 :(得分:0)
许多Web服务器支持多种授权方法。在那些 只发送令牌的情况是不够的。