zoukankan      html  css  js  c++  java
  • DRF-JWT用户认证

    pip install djangorestframework-jwt
    使用:
    INSTALLED_APPS = [
        ...
        'rest_framework',
        'rest_framework.authtoken',  # 设置token
        ...
    ]
    REST_FRAMEWORK = {
        ...
        # 添加JWT全局认证
        'DEFAULT_AUTHENTICATION_CLASSES': (
            'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
    
        ),
        }
    # 自定义token过期时间
    import datetime
    JWT_AUTH = {
        'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=86400),
    from  django.contrib.auth.models import Group
    from rest_framework.permissions import IsAuthenticated
    from  .serializers import UserGroupsSerializer
    
    class UserGropInfoViewset(viewsets.ModelViewSet):
        permission_classes = (IsAuthenticated,)
        queryset = Group.objects.all()
        serializer_class = UserGroupsSerializer

    路由

    # 当前app下的router.py
    from  rest_framework.routers import DefaultRouter
    from  .views import UserGropInfoViewset
    group_router = DefaultRouter()
    
    group_router.register('GroupsInfo',UserGropInfoViewset,base_name='GroupsInfo')
    
    # 全局url.py
    # 在你的urls.py文件中配置如下:
    from  rest_framework.routers import DefaultRouter
    route = DefaultRouter()
    from users.router import group_router
    route.registry.extend(group_router.registry)
    
    # 配置jwt路由
    from rest_framework_jwt.views import obtain_jwt_token
    urlpatterns = [
        url(r'^', include(route.urls)),
        url(r'^api-auth',include('rest_framework.urls',namespace='rest_framework')),
        # 使用jwt验证
        url(r'^api-token-auth/', obtain_jwt_token),

    #drf自带的token认证模式
    url(r'^api-token-auth/', views.obtain_auth_token),
  • 相关阅读:
    转:C++ 智能指针的正确使用方式
    C/C++各个周期的学习
    转: 工作中用的C++库
    转:【软件设计】深入理解日志系统的意义
    初级爬虫第四天
    初级爬虫第三天
    初级爬虫第二天
    初级爬虫第一天
    pep8介绍
    MySQL训练营01
  • 原文地址:https://www.cnblogs.com/orvis/p/11032094.html
Copyright © 2011-2022 走看看