DRF-JWTのユーザー認証

pip install djangorestframework-jwt



= INSTALLED_APPS [ 
    ... 
    ' rest_frameworkは' ' rest_framework.authtoken '#はトークン設け
    ... 
] 
REST_FRAMEWORK = { 
    ... 
    追加JWTをグローバル認定
    ' DEFAULT_AUTHENTICATION_CLASSES ' :(
         ' rest_framework_jwt.authentication.JSONWebTokenAuthentication ' 

    } 
カスタムトークンの有効期限
のインポート日時
JWT_AUTH = {
     JWT_EXPIRATION_DELTA :Datetime.timedelta(秒= 86400)。

 

  django.contrib.auth.models インポートグループ
 から rest_framework.permissions インポートするにisAuthenticated
 から   .serializers インポートUserGroupsSerializer 

クラスUserGropInfoViewset(viewsets.ModelViewSetを):
    permission_classes = (にisAuthenticated、)
    クエリセット = Group.objects.all()
    serializer_class = UserGroupsSerializer

ルーティング

当前アプリ下的router.py 
から   rest_framework.routersがインポートdefaultrouterに
 から   .views インポートUserGropInfoViewset 
group_router = defaultrouterに()

group_router.register(' GroupsInfoを'、UserGropInfoViewset、BASE_NAME = ' GroupsInfo ' 

全局url.py 你在的なURL .py文件中配置如下:
から   rest_framework.routers インポートdefaultrouterにする
ルート = defaultrouterには()
 から users.routerのインポートgroup_router
route.registry.extend(group_router.registry) 

配置JWT路由
から rest_framework_jwt.viewsはインポートobtain_jwt_token 
urlpatternsを = [ 
    URL(R ' ^ ' 、(route.urls)を含む)、
    URL(R ' ^ API-AUTH '(含みます' rest_framework.urls '、名前空間= ' rest_framework ' ))、
    使用のJWT验证 
    URL(R ' ^ APIトークン-AUTH / '、obtain_jwt_token)、

独自のトークン認証モード#drf
URL(R '^ APIトークン -auth /'、views.obtain_auth_token)、

おすすめ

転載: www.cnblogs.com/orvis/p/11032094.html