基于json web令牌的django-rest框架认证

djangorestframework-jwt-custom-user的Python项目详细描述


REST framework JWT Auth (FORK)

增加了使用自定义模型的可能性。这样就有可能在同一个项目中有多个用户模型,并保持认证流彼此独立。

配方

  1. 扩展`rest_framework_jwt.authentication.JSONWebTokenAuthentication`并定义它应该使用哪个用户模型。

    fromrest_framework_jwtimportauthenticationclassMyJWTAuthentication(authentication.JSONWebTokenAuthentication):user_model='some_app.SomeUserModel'
  2. 定义操作令牌的视图,并告诉它们要使用哪个用户模型。例如:

    fromrest_framework_jwt.viewsimportObtainJSONWebToken,RefreshJSONWebTokenobtain_jwt_token=ObtainJSONWebToken.as_view(user_model='some_app.SomeUserModel')urlpatterns=router.urls+[url(r'^api-token-auth/',obtain_jwt_token,name='auth-jwt-get'),]
  3. 在视图中使用身份验证类。

    classTestView(ViewSet):authentication_classes=(MyJWTAuthentication,)

如果您不想为所有用户使用在`settings.AUTHENTICATION_BACKENDS`定义的后端的默认`django.contrib.auth.authenticate`,则需要编写自己的身份验证处理程序,并通过重写`JSONWebTokenSerializer.authenticate`方法告诉`JSONWebTokenSerializer`使用它。

classMyJWTSerializer(serializers_jwt.JSONWebTokenSerializer):defauthenticate(self,**credentials):returnmy_authenticate(**credentials)# your obtain token view then will look like thisobtain_jwt_token=ObtainJSONWebToken.as_view(user_model='some_app.SomeUserModel',serializer_class=MyJWTSerializer)urlpatterns=router.urls+[url(r'^api-token-auth/',obtain_jwt_token,name='auth-jwt-get'),]

rest框架jwt auth

build-status-imagepypi-version

json对django rest框架的web令牌身份验证支持

项目的完整文档可在docs获得。

概述

这个包提供了JSON Web Token Authentication支持 Django REST framework

如果您想了解更多关于jwt的信息,请查看以下资源:

要求

  • Python(2.7、3.3、3.4、3.5)
  • Django(1.8、1.9、1.10、1.11)
  • django rest框架(3.1、3.2、3.3、3.4、3.5、3.6)

安装

使用pip

安装
$ pip install djangorestframework-jwt

文档和支持

项目的完整文档可在docs获得。

你也可以关注twitter上的author

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java错误:无法解析方法   如何用相同的父标记和子标记在Java中解析XML?   日期使用Java中的时区偏移将本地时间转换为UTC   java如何在多进程、多线程环境中读取文件   WebView中的java弹出式对话框不在当前显示范围内,但在chrome浏览器中运行良好   只有2个参数的java递归二进制搜索方法   无法在java中调用函数   java JavaMail在Tomcat服务器上运行时停止工作   反射通过java程序生成、编译和运行java类   java Android:如何使ListView即使在应用程序关闭后仍保持禁用状态   在JAVA中识别匿名类实例   java渲染一个由三角形组成的立方体,在旋转时会产生奇怪的角度   函数式编程如何基于比较连续的列表元素将Java流减少为布尔值   java如何替换列表中的多个项目?   java Android如何获取随机sqlite数据?   java我已经将useSSL设置为false,但仍然收到警告   java使用动态变量生成jlabel   apachespark:java。lang.NoClassDefFoundError v2TableWithV1回退