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),
  • 相关阅读:
    201521123044 《Java程序设计》第2周作业-Java基本语法与类库
    201521123044 《Java程序设计》第01周学习总结
    201521123044 《Java程序设计》第1周学习总结
    Java 第七周总结
    Java 第六周总结
    Java 第五周总结
    test

    Java 第四周总结
    Java 第三周总结
  • 原文地址:https://www.cnblogs.com/orvis/p/11032094.html
Copyright © 2011-2022 走看看