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