首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JWT令牌过期时间增加

JWT令牌过期时间增加
EN

Stack Overflow用户
提问于 2018-06-10 03:07:26
回答 2查看 3.6K关注 0票数 2

我已经集成了JWT令牌和django-restframwork,在这里我设置了过期时间15mints JWT_EXPIRATION_DELTA,但它在提到的时间(1mints)之前就要过期了,我需要刷新令牌才能继续...PFB me配置

代码语言:javascript
复制
Python 3.5
Django==2.0.5
djangorestframework==3.8.2
djangorestframework-simplejwt==3.2.3

Setting.py

代码语言:javascript
复制
REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    )
} 

JWT_AUTH = {
    'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=900),
    'JWT_ALLOW_REFRESH': True,
    'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7),
}

请帮帮忙,我是不是做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-10 03:20:45

您正在使用djangorestframework-simplejwt,但您的配置是针对djangorestframework-jwt的。请卸载djangorestframework-simplejwt并安装djangorestframework-jwt

pip uninstall djangorestframework-simplejwt

然后

pip install djangorestframework-jwt更多详细信息here

票数 2
EN

Stack Overflow用户

发布于 2018-10-05 17:12:01

您仍然可以使用djangorestframework-simplejwt,并在设置文件中修改时间

settings.py

代码语言:javascript
复制
from datetime import timedelta

...

SIMPLE_JWT = {
    'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),
    'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
    'ROTATE_REFRESH_TOKENS': False,
    'BLACKLIST_AFTER_ROTATION': True,

    'ALGORITHM': 'HS256',
    'SIGNING_KEY': settings.SECRET_KEY,
    'VERIFYING_KEY': None,

    'AUTH_HEADER_TYPES': ('Bearer',),
    'USER_ID_FIELD': 'id',
    'USER_ID_CLAIM': 'user_id',

    'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
    'TOKEN_TYPE_CLAIM': 'token_type',

    'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
    'SLIDING_TOKEN_LIFETIME': timedelta(minutes=5),
    'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=1),
}

查看https://github.com/davesque/django-rest-framework-simplejwt

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50777598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档