Django REST框架令牌认证AngularJS

Posted

技术标签:

【中文标题】Django REST框架令牌认证AngularJS【英文标题】:Django rest framework token authentication AngularJS 【发布时间】:2016-08-12 21:06:30 【问题描述】:

我对 Django 和 Token 身份验证以及 AngularJS 相当陌生。到目前为止,我已经制作了 Django 后端和 AngularJS 前端。我安装了 Django Rest Framework 并获得了标准令牌身份验证:

$scope.login = function () 
    $http.post('link to my api', 
      'username': $scope.data.username,
      'password': $scope.data.password,
    ).success(function () 
      $state.go('tab');
    )
      .error(function () 

      );
  ;

到目前为止,我通过获得具有正确用户名和密码的令牌成功。我看到了太多关于身份验证的选项,以至于我不知道什么适合我了,也不知道从哪里开始,因为我没有得到很多关于标准令牌身份验证的信息。我有一个带有登录屏幕的 Ionic 应用程序,Django 后端存储了用户。我希望能够使用驻留在 Django 数据库中的用户帐户登录。每当这样做时,用户就获得了使用该应用程序的权限。稍后应该可以例如获取登录用户的个人详细信息等凭据。假设我使用上面的 TokenAuthentication,我得到了令牌。但是我以后如何通过该令牌从 Django 获取用户凭据或其他任何内容?我完全迷路了。如果有人可以请带我进入正确的方法和材料。

【问题讨论】:

【参考方案1】:

我发现当你实现以下 DRF 权限时:

REST_FRAMEWORK = 
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    )

并且您在http://www.django-rest-framework.org/#example 上创建视图集,它会自动需要令牌来查看这些视图集。因此,您可以使用该令牌向 api 发送请求以获取特定数据。

【讨论】:

以上是关于Django REST框架令牌认证AngularJS的主要内容,如果未能解决你的问题,请参考以下文章

Django Rest 框架邮递员令牌认证

Django REST框架+ Angular项目上的令牌认证

Django rest 框架 jwt 令牌权限

令牌的有效期是多久? Django REST 框架

在 django rest 框架中使用令牌身份验证返回更多信息

ANDROID VOLLEY + JWT TOKEN 认证 + DJANGO REST 框架