使用django和AngularJS登录JWT所需的装饰器

时间:2017-08-01 10:48:00

标签: python angularjs django jwt login-required

我有一个项目使用AngularJS, JWT 和django作为后端框架。 JWT用户身份验证工作正常。

同时我正在尝试

  • 从我的角色服务
  • 发送$ http.get('/ myview /')
  • 使用 login_required 修饰的django中的 myview

经过研究,我明白它不应该工作,因为request.session没有设置。

所以问题是如何才允许仅在经过身份验证的用户中获取此视图中的请求?

我想在django中创建自定义装饰器,它将检查将在我的获取/发布请求中从角度服务发送的令牌,但我怀疑它是否会起作用。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我不认为休息框架权限类也可以作为视图的装饰器。

from rest_framework.decorators import api_view, permission_classes
from rest_framework.permissions import IsAuthenticated

@api_view(['GET'])
@permission_classes((IsAuthenticated, ))
def example_view(request, format=None):

http://www.django-rest-framework.org/api-guide/permissions/