基于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第三方库


热门话题
带键的Selenium上的JAVA增量输入数   Java代码已编写,但运行后没有预期的输出   java如何存储文件数据行,并通过它的方法计算成字母,并在另一个文件中打印字母等级?   进行Web服务调用时eclipse中的java ClassNotFoundException   g.drawString()上的graphics2d Java“包装文本”+“自动字体大小”   任务不可序列化Java 1.8和Spark 2.1.1   使用流中现有servlet的JavaMuleESB   Java嵌套数组到递归方法的算法   java为垂直组添加背景   java有没有办法将类似CSV的文本字符串复制到2D数组?   java Android是否使用现有的XML布局将项目动态添加到ListView?   java JPA试图强迫我拥有一个名为“id”的属性和数据库列   java如何基于特定的数据集创建部分数据库转储?   java无法在暂停后恢复音频曲目   java在对象中存储字节数组,然后将其转换为ObjectOutputStream?(卡住了)   java获取SyndEntry的XML字符串值   java IText API将HTML文件转换为PDF格式和图像渲染问题   java我从我的oracle servlet中得到一个空白屏幕