# Django project settings.py

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': False,
    'UPDATE_LAST_LOGIN': False,

    'ALGORITHM': 'HS256',
    'SIGNING_KEY': SECRET_KEY,
    'VERIFYING_KEY': None,
    'AUDIENCE': None,
    'ISSUER': None,
    'JWK_URL': None,
    'LEEWAY': 0,

    'AUTH_HEADER_TYPES': ('Bearer',),
    'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION',
    'USER_ID_FIELD': 'id',
    'USER_ID_CLAIM': 'user_id',
    'USER_AUTHENTICATION_RULE': 'rest_framework_simplejwt.authentication.default_user_authentication_rule',

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

    'JTI_CLAIM': 'jti',

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

ACCESS_TOKEN_LIFETIME

액세스 토큰이 유효한 기간을 지정하는 개체입니다 . 이 timedelta값은 토큰 생성 중 설정한 시간에 추가되어 토큰의 기본 만료되는 값을 얻습니다.

REFRESH_TOKEN_LIFETIME

새로 고침 토큰이 유효한 기간을 지정하는 개체입니다

ROTATE_REFRESH_TOKENS

로 설정하면 True새로 고침 토큰이 에 제출 TokenRefreshView되면 새 액세스 토큰과 함께 새 새로 고침 토큰이 반환됩니다. 이 새로운 새로 고침 토큰은 JSON 응답의 "새로고침" 키를 통해 제공됩니다. REFRESH_TOKEN_LIFETIME 새 새로 고침 토큰은 요청이 이루어진 현재 시간 에 설정의 timedelta를 추가하여 결정되는 갱신된 만료 시간을 갖 습니다. 블랙리스트 앱이 사용 중이고 BLACKLIST_AFTER_ROTATION가 True이면 설정되어 있으면 True새로 고침 보기에 제출된 새로 고침 토큰이 블랙리스트에 추가됩니다.

BLACKLIST_AFTER_ROTATION

로 설정하면 블랙리스트 앱이 사용 중이고 설정이 로 설정된 경우 True에 제출된 새로 고침 토큰 이 블랙리스트에 추가됩니다 . 이 설정을 사용하려면 설정 파일에 추가해야 합니다 .TokenRefreshViewROTATE_REFRESH_TOKENSTrue'rest_framework_simplejwt.token_blacklist',INSTALLED_APPS

블랙리스트 앱 에 대해 자세히 알아보세요 .

UPDATE_LAST_LOGIN

로 설정 True하면 auth_user 테이블의 last_login 필드가 로그인 시 업데이트됩니다(TokenObtainPairView).

경고: last_login을 업데이트하면 데이터베이스 트랜잭션 수가 크게 증가합니다. 보기를 남용하는 사람들은 서버를 느리게 할 수 있으며 이는 보안 취약점일 수 있습니다. 정말로 이것을 원한다면 최소한 DRF로 끝점을 조절하십시오.