如何处理令牌?

时间:2021-07-30 14:11:39

标签: django django-rest-framework-jwt

我有一个问题。 在我的项目中,在用户登录我的应用程序后生成一个访问令牌,然后将其放在 cookie 上。 此访问令牌包含用户权限等信息以及有关他的其他一些详细信息。

对于身份验证部分,我使用“DEFAULT_AUTHENTICATION_CLASSES”,它映射到一个类,该类从 rest_framework.authentication 继承 TokenAuthentication 类。

不是在每个视图中再次解码访问令牌,我如何从访问令牌中获得它的权限? 我应该使用什么? 可以将解码后的令牌放入 request.session 吗?

1 个答案:

答案 0 :(得分:0)

将访问令牌存储在 cookie(或会话)中,并为服务器的每个相关请求添加以下标头:

Authorization: Token [your_token_from_the_cookie]

在要使用令牌身份验证保护的视图上,添加适当的装饰器:

@api_view(['GET', 'POST', etc.])
@authentication_classes([TokenAuthentication,])
@permission_classes([IsAuthenticated])

其中一些装饰器可以在您的设置文件中全局设置。

简而言之,请求令牌一次,存储它,然后在每次发出需要身份验证的请求时使用它。

https://www.django-rest-framework.org/api-guide/authentication/

相关问题