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),
  • 相关阅读:
    构建之法阅读笔记02
    学习进度
    构建之法阅读笔记01
    小学生的四则运算题
    构建之法----速读问题
    软件工程概论作业一
    分数 任意输入
    JAVA异常
    大道至简——第七、八章读后感
    super 要点
  • 原文地址:https://www.cnblogs.com/orvis/p/11032094.html
Copyright © 2011-2022 走看看