Luc*_*uca 4 python django rest jwt
我正在使用github上的Django休息框架JSON Web令牌API(https://github.com/GetBlimp/django-rest-framework-jwt/tree/master/).
我可以成功创建令牌并使用它们来调用受保护的REST AP.但是,在某些情况下,我希望在到期时间之前删除特定令牌.所以我想这样做的观点如下:
class Logout(APIView):
permission_classes = (IsAuthenticated, )
authentication_classes = (JSONWebTokenAuthentication, )
def post(self, request):
# simply delete the token to force a login
request.auth.delete() # This will not work
return Response(status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
这request.auth只是一个字符串对象.所以,这当然不会起作用,但我不确定如何清除底层令牌.
编辑
阅读更多关于这一点,似乎我不需要做任何事情,因为没有任何东西存储在服务器端与JWT.因此,只需关闭应用程序并在下次登录时重新生成令牌即可.那是对的吗?
JWT的最大缺点是,由于服务器不保存会话状态,因此在使用过程中无法废除令牌或更改令牌的权限。也就是说,一旦JWT签名,它将一直有效直到它到期,除非服务器部署了其他逻辑。因此,即使创建新令牌或刷新令牌,也无法使令牌无效。注销的简单方法是从客户端删除令牌。
| 归档时间: |
|
| 查看次数: |
2972 次 |
| 最近记录: |