我开发了一个Web服务,通过web-API应该通过预生成的密钥与第三方应用程序连接。
我的解决方案是使用@csrf_exempt
,但这似乎是非常糟糕的解决方案。
如何通过密钥验证连接的应用程序?
答案 0 :(得分:0)
您可以使用permissions。
您需要将其添加到设置中:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'app_name.path.MyPermissionClass',
)
}
然后创建权限类。如上所述here。
from rest_framework import permissions
class MyPermissionClass(permissions.BasePermission):
def has_permission(self, request, view):
if request.META.get('HTTP_SECRET_KEY', None) == 'your key':
return True
else:
return False