rest_framework_simplejwt изменить время истечения срока действия токена доступа в зависимости от роли пользователя

из rest_framework_simplejwt.serializers импортировать TokenObtainPairSerializer
из rest_framework_simplejwt.views импортировать TokenObtainPairView
из rest_framework_simplejwt.utils импортировать datetime_to_epoch

SUPERUSER_LIFETIME = datetime.timedelta (минуты = 1)

класс MyTokenObtainPairSerializer (TokenObtainPairSerializer):
@классметод
def get_token (cls, пользователь):
токен = супер(MyTokenObtainPairSerializer, cls).get_token(пользователь)

    token['name']       = user.username
    token['user_id']    = user.id

    if user.is_superuser:
        #token.set_exp(from_time=starttime,lifetime=SUPERUSER_LIFETIME)
        token.payload['exp'] = datetime_to_epoch(token.current_time + SUPERUSER_LIFETIME)

    return token

класс MyTokenObtainPairView (TokenObtainPairView):
serializer_class = MyTokenObtainPairSerializer
И в urls.py

путь(‘API/токен/’,MyTokenObtainPairView.as_view(), name=»token_obtain»),

Я хотел бы переопределить время истечения срока действия токена доступа. Похоже, что приведенный выше код переопределяет токен «обновления», несмотря на токен доступа. Может ли кто-нибудь помочь мне в этом

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *