从视图访问令牌

Access token from view

我是从django-rest-framework开始的,我找不到从视图访问Token值的方法,可以吗?我没有使用 built-in 令牌生成器,我使用自定义函数来完成它。在请求的 headers 中,我给出了这个:

Authorization: 'Token kjansfd98qhr23d09823098fdj'

如何在视图中访问该值?或者也许有一种使用自定义令牌的最佳方式。

PD:我没有使用 Django 的默认用户模型。

您可以使用 request.META(字典)在视图中访问它们。 所以你可以使用 request.META.get('HTTP_AUTHORIZATION') 来访问 autherizatoin 令牌。

有关详细信息,请访问 Django TokenAuthentication missing the 'Authorization' http header

如果您正在部署到 Apache,并使用任何基于 non-session 的身份验证,您将需要明确配置 mod_wsgi 以将所需的 headers 传递给应用程序。这可以通过在适当的上下文中指定 WSGIPassAuthorization 指令并将其设置为 'On' 来完成。详情请访问http://www.django-rest-framework.org/api-guide/authentication/

您可以从 request.auth 属性中获取令牌。它 returns 一个 DRF 令牌实例。如果您只想要密钥,则可以使用 request.auth.key 属性访问它。

参考: