当前位置: 首页 > 后端技术 > Python

Django配置JWT认证方式

时间:2023-03-26 01:13:45 Python

1。安装rest_framework+djangorestframework_simplejwt安装djangorestframework_simplejwt:pipinstalldjangorestframework-simplejwt安装rest_framework:pipinstalldjangorestframeworkdjangorestframework_simplejwt是djangowt应用。2.rest_framework配置完成后,在settings.py中添加如下内容,支持jwt认证REST_FRAMEWORK={'DEFAULT_AUTHENTICATION_CLASSES':['rest_framework_simplejwt.authentication.JWTAuthentication',],}3.写测试viewfromrest_frameworkimportaclassimplent_permissionsfromrest_frameworkTestView(views.APIView):permission_classes=[permissions.IsAuthenticated]authentication_classes=(authentication.JWTAuthentication,)defget(self,request,*args,**kwargs):returnResponse('ok')4.urls.py导入两个视图ofjwtfromrest_framework_simplejwt.viewsimport(TokenObtainPairView,TokenRefreshView,)urlpatterns=[...url(r'^api/auth/token/obtain/$',TokenObtainPairView.as_view()),#需要的内容urladded(r'^api/auth/token/refresh/$',TokenRefreshView.as_view()),#需要添加的内容url(r'^api/test/$',TestView.as_view()),#添加测试视图路由...]5。获取token首先启动服务器端口为默认8000方法一:通过curlcmd运行curl获取tokencurl-XPOST-H"Content-Type:application/json"-d'{"username":"abab","password":"abab123456"}'http://localhost:8000/api/auth/token/obtain/Theresultreturnedtoken{"access":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwidXNlcl9pZCI6MywianRpIjoiZDRlMTJiMjk0M2ZiNGFkYTg1NzZiNWIzMzcyY2RlMjQiLCJleHAiOjE1MzE1MDY5Njl9.S1MPTw359xVK-GpmJary1fZwDsHb8yXsVtyf-tCbHM8","refresh":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsInVzZXJfaWQiOjMsImp0aSI6IjAyYWM3NmQ0MDBkNzRlYzNhOGU5NDM2MWYzYzUzMWQyIiwiZXhwIjoxNTMxNTkzMDY5fQ.rXkYG2SJ74vof3rA38xX-EfMagHxeQRv7ZolszofuHA"}方式二:通过PostMan软件只需要设置如下三个地方就可以了6.提供token,获取testview的信息方式一:通过curlcurl\>-H"Authorization:BearereyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwidXNlcl9pZCI6MywianRpIjoiZDRlMTJiMjk0M2ZiNGFkYTg1NzZiNWIzMzcyY2RlMjQiLCJleHAiOjE1MzE1MDY5Njl9.S1MPTw359xVK-GpmJary1fZwDsHb8yXsVtyf-tCbHM8"\>http://localhost:8000/api/test/"ok"方式二:通过ThePostMansoftwaresettingsareasfollows:这个地方看你的接口是Get请求还是Post请求,自己设置接口请求方式Token。填写上一步获取的Token内容。默认Token过期时间为5分钟。您可以通过设置修改过期时间、设置方式和详细设置。文档,进入Bigyoung网站(bigyoung.cn)查看高级内容。