Size: a a a

Django [ru] #STAY HOME

2020 May 23

AF

Anton Fircak in Django [ru] #STAY HOME
simplejwt
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Токен в кавычки?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Nikolay Cherniy
Токен в кавычки?
неа
источник

AD

Alex Dem in Django [ru] #STAY HOME
пока непонятно

а рефреш работает?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Alex Dem
пока непонятно

а рефреш работает?
verify работает точно,
источник

AD

Alex Dem in Django [ru] #STAY HOME
Anton Fircak
verify работает точно,
ну а новый токен ты можешь запросить?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Simple JWT provides two different token types that can be used to prove authentication. In a token’s payload, its type can be identified by the value of its token type claim, which is “token_type” by default. This may have a value of “access”, “sliding”, or “refresh” however refresh tokens are not considered valid for authentication at this time. The claim name used to store the type can be customized by changing the TOKEN_TYPE_CLAIM setting.
источник

AD

Alex Dem in Django [ru] #STAY HOME
новый акссес токен по рефреш токену
источник

DO

D. Ouhh in Django [ru] #STAY HOME
я хочу создать view c list, retrieve, create.
class ProductImageView(ListModelMixin, CreateModelMixin, RetrieveModelMixin, generics.GenericAPIView):

вот так создаю класс.
почему метод GET всё ещё запрещён?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Alex Dem
новый акссес токен по рефреш токену
да норм
источник

AD

Alex Dem in Django [ru] #STAY HOME
Anton Fircak
verify работает точно,
https://django-rest-framework-simplejwt.readthedocs.io/en/latest/creating_tokens_manually.html

попробуй убрать некоторые "составляющие" процесса этим путем

ты получил свежий аксесс токен по рефреш токену
проверь его валидность, пока не истекло время
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Alex Dem
https://django-rest-framework-simplejwt.readthedocs.io/en/latest/creating_tokens_manually.html

попробуй убрать некоторые "составляющие" процесса этим путем

ты получил свежий аксесс токен по рефреш токену
проверь его валидность, пока не истекло время
Ок
источник

MK

Mark Koval in Django [ru] #STAY HOME
привет ,возможно ли заранить поток после ретурна функции пробувал так но не подходит                                                                                             t = threading.Thread(target=send_email_for_course_subscription, args=( 'New subscriber for the course congratulations',
                                                                        "New"), kwargs={})
   t.setDaemon(True)
   t.start()
источник

AD

Alex Dem in Django [ru] #STAY HOME
https://django-rest-framework-simplejwt.readthedocs.io/en/latest/settings.html

также для упрощения процесса отладки рекомендую временно перезаписать сеттинг

'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),

чтобы исключить вариант того, что лайфтайм аксесс токена истек
источник

AD

Alex Dem in Django [ru] #STAY HOME
Хотя ты упоминал, что верифай проходит, тут наверное таки что-то другое
но все же =)
источник
2020 May 24

AD

Alex Dem in Django [ru] #STAY HOME
Anton Fircak
мб ли быть кофликт с drf-auth, в какие настройки смотреть? {
   "detail": "Given token not valid for any token type",
   "code": "token_not_valid",
   "messages": [
       {
           "token_class": "AccessToken",
           "token_type": "access",
           "message": "Token has wrong type"
       }
   ]
} 401 анавторизед
"Нет, я про то что тебе в хэдерах приходит"

Немного вникнув, начинаю соглашаться с автором
ты передаешь токен, который по твоим словам проходит JWT верификацию
Но с ним же на REST тебя не пускает с этой ошибкой
Граничит с "магией"

Если ты ничего не перепутал, мы можем сделать выводы, что токен валиден
Исходя из ошибки, можно понять, что класс аутентификации успешно применился
пока что все указывает на, что токен не долетает

Самый просто и плебский вариант отладить это - снять временно isAuthenticated пермишен в твоем API
и посмотреть headers прямо из-под API функции, если есть возможность
источник

AD

Alex Dem in Django [ru] #STAY HOME
Headers хранятся в request.headers
источник

AD

Alex Dem in Django [ru] #STAY HOME
Возможно где-то есть неявные преобразования headers и токен почему-то видоизменяется

например, в middleware
источник

AD

Alex Dem in Django [ru] #STAY HOME
Заодно также ты проверишь, что ты не сделал лишний пробел или еще что-то
так как access и refresh токен имеет одинаковый паттерн, вариант что ты их перепутал местами не рассматриваю отталкиваясь от полученной тобой ошибки
источник

AD

Alex Dem in Django [ru] #STAY HOME
Также, я писал ТЗ для одной конторки (не трудно будет догадаться какой)
тут полный треш (я был молод и зелен), но тут работал JWT

https://github.com/AlexDemian/starnavi_challenge
источник