【问题标题】:How to authenticate connected application with key? Django, Python如何使用密钥验证连接的应用程序?姜戈,蟒蛇
【发布时间】:2016-04-29 06:14:49
【问题描述】:
我开发了一个网络服务,通过网络 API 应该通过预生成的密钥与第三方应用程序连接。
我的解决方案是使用@csrf_exempt,但这似乎是一个非常糟糕的解决方案。
如何通过密钥验证连接的应用程序?
【问题讨论】:
标签:
python
django
api
django-rest-framework
【解决方案1】:
您可以使用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