API за контакти на Google Oauth2 връща невалиден токен: Токенът без състояние е изтекъл след час

Какво не е наред с настройката ми?

Използвам django-allauth за социална регистрация и наскоро добавих контакти към неговия обхват. Нещата работят добре. Сега иска разрешение за управление на контакти и мога да получа данни за контакт на потребителите чрез API.

Но след като направя заявка за получаване на контакти на потребител (по това време не записвам токен за опресняване или токен за достъп), след един час, когато направя заявката отново със същия токен, се показва тази грешка „Невалиден токен: Stateless токенът е изтекъл".

Въпреки това все още мога да вляза в уебсайта и токенът не се променя. Когато обаче изляза и вляза отново, токенът се променя и мога отново да получа контактите, използващи този токен за един час.

какъв е проблемът какво ми липсва


person Rohit    schedule 24.04.2016    source източник


Отговори (1)


Вижте, когато влизате в уебсайта, вероятно използвате бисквитки. Така че по същество може да използвате една и съща сесия и всъщност API не се извиква.

Времето, когато влизате в режим инкогнито или в различен браузър, тази бисквитка не може да се използва, така че този път се извиква api. Поради тази причина токенът се променя.

Например, ако след като няколко потребители са се регистрирали в google, вие промените обхвата на приложението, това, което се случва, е, че ако потребителят е активирал бисквитки и те не са изтекли, когато той посети вашия сайт, той просто го влиза. не иска разрешения (които сте добавили наскоро към обхвата). Но когато той излезе и влезе отново, тогава се иска допълнително разрешение и този токен също се променя.

Това, което трябва да направите, е да преминете през кодовете на django-allauth и да изчистите как използват токена. Трябва също да знаете, че за да получите означение за опресняване, трябва да имате активиран офлайн достъп във вашата конфигурация.

person sprksh    schedule 03.05.2016