Django rest framework 如何在DRF JWT视图上设置自定义权限类?
我有一个自定义权限类,可以拒绝任何请求头中没有提供正确API密钥的请求,我不知道如何将其添加到Django Rest Framework 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
获取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
]