2016-04-24 3 views
0

Что случилось с моей настройкой?Google API Oauth2 API возвращает недопустимый токен: токен без сохранения устаревших по истечении часа

Я использую django-allauth для социальной регистрации, и недавно я добавил контакты в его область. Все работает нормально. Теперь он запрашивает разрешение на управление контактами, и я могу получить контактную информацию о пользователях через API.

Но как только я сделаю запрос на получение контактов пользователя (я не сохраняю токен обновления или токен accss в это время), через час, когда я делаю запрос снова с тем же токеном, он показывает эту ошибку " Недопустимый токен: токен без сохранения. ".

Однако я все еще могу войти на сайт, и токен не изменяется. Однако, когда я выхожу из системы и снова загружаю токены, я могу снова получить контакты, используя этот токен в течение одного часа.

В чем проблема? Что мне не хватает?

ответ

0

См., Когда вы заходите на сайт, вы, вероятно, используете файлы cookie. Таким образом, в основном вы можете использовать один и тот же сеанс, и на самом деле api не вызывается.

Время, когда вы регистрируетесь в режиме инкогнито или в другом браузере, этот файл cookie не может использоваться, поэтому на этот раз вызывается api. По этой причине токен изменяется.

Например, если несколько пользователей зарегистрировались в Google, вы изменили сферу действия приложения, что происходит, если пользователь включил куки-файлы и он не истек, когда он посещает ваш сайт, он просто записывает журналы он не запрашивает разрешения (которые вы недавно добавили в область). Но когда он выходит из системы и снова входит в систему, он запрашивает дополнительное разрешение, а токен также изменяется.

Что вы должны сделать, вам следует пройти через коды django-allauth и очистить их, как они используют токен. Вы также должны знать, что для получения токена обновления необходимо включить автономный доступ в вашей конфигурации.