我正在使用rest_framework_simplejwt
对用户进行身份验证,但是在某些视图中,我需要忽略它,因为这些是公共视图。我想将令牌签入视图流。预期的行为是:
在公众视野中
实际上rest_framework_simplejwt
检查令牌,如果令牌无效或已过期,则提出401
...
我尝试这样在APIView中禁用authentication_classes
:
class SpecificProductApi(APIView): def get_authenticators(self): if self.request.method == 'GET': self.authentication_classes = [] return super(SpecificProductApi, self).get_authenticators()
但是如果我在输入
GET APIView
方法之前将其禁用,我将无法执行if reques.user.is_authenticated:
,因为我禁用了令牌:(
[存在一种启用输入api http方法并使用户手动进入视图的方法吗?谢谢
我正在使用rest_framework_simplejwt来验证我的用户,但是在某些视图中,我需要忽略它,因为这些是公共视图。我想将令牌签入视图流。预期的行为...
有一个非常相似的问题。要创建公共端点,您将不得不覆盖身份验证器,否则将在过期/丢失的令牌上返回401/403。
您只需要为相关视图指定权限类别