Django rest framework 如何在DRF JWT视图上设置自定义权限类?

Django rest framework 如何在DRF JWT视图上设置自定义权限类?,django-rest-framework,django-rest-framework-jwt,Django Rest Framework,Django Rest Framework Jwt,我有一个自定义权限类,可以拒绝任何请求头中没有提供正确API密钥的请求,我不知道如何将其添加到Django Rest Framework JWT视图中,包括获取JWT令牌,刷新JWT令牌,以及验证JWT令牌。如何实现这一点?可以通过扩展jwt视图并使用新创建的视图来实现。参见下面的示例 # permissions.py from rest_framework.permissions import BasePermission class MyPermissionClass(BasePermi

我有一个自定义权限类,可以拒绝任何请求头中没有提供正确API密钥的请求,我不知道如何将其添加到Django Rest Framework JWT视图中,包括
获取JWT令牌
刷新JWT令牌
,以及
验证JWT令牌
。如何实现这一点?

可以通过扩展jwt视图并使用新创建的视图来实现。参见下面的示例

# permissions.py
from rest_framework.permissions import BasePermission


class MyPermissionClass(BasePermission):
    # do something with your permission class
    pass
在这里,我创建了一个名为jwt\u clone\u views的新模块,它将权限类作为参数。
urls.py
中,我使用了新创建的视图,其中包括
权限类



注意:我没有测试解决方案。

您可以添加权限类吗?您计划如何在请求中提供这些api密钥/凭据?这与问题有何关系?我只想为JWT相关视图设置权限类。实际上,我打算使用哪些权限类并不重要。如果有人想用默认的权限类来回答这个问题,那很好。谢谢,这是正确的解决方案。它缺少一些小东西:
jwt\u clone\u views.py
需要
from。权限导入MyPermissionClass
URL.py
实际上应该有
from.jwt\u clone\u views导入获取jwt\u令牌,刷新jwt\u令牌,验证jwt\u令牌
(注意从“jwt\u clone\u views”到.jwt\u clone\u视图的更改)
# jwt_clone_views.py
from rest_framework_jwt.views import ObtainJSONWebToken, RefreshJSONWebToken, VerifyJSONWebToken

permission_cls = {"permission_classes": (MyPermissionClass,)}
obtain_jwt_token = ObtainJSONWebToken.as_view(**permission_cls)
refresh_jwt_token = RefreshJSONWebToken.as_view(**permission_cls)
verify_jwt_token = VerifyJSONWebToken.as_view(**permission_cls)
# urls.py
from .jwt_clone_views import obtain_jwt_token, refresh_jwt_token, verify_jwt_token


urlpatterns = [
    '',
    # ...

    url(r'^api-token-auth/', obtain_jwt_token),
    # and so on
]