Почему Google OAuth2 повторно запрашивает у пользователя разрешение, когда я снова отправляю его по URL-адресу авторизации

Со старым openid Google, когда я отправлял пользователя (который ранее подписался на мое приложение) на URL-адрес аутентификации, он немедленно перенаправлял их обратно на мое приложение.

Теперь, с OAuth2, URL-адрес авторизации продолжает запрашивать у пользователя разрешение. Я читал некоторые документы по этому вопросу, но чего я не понимаю, так это того, как этот процесс должен работать:

  1. Пользователь входит в Google через мое приложение и нажимает РАЗРЕШИТЬ для получения разрешений.
  2. Через несколько дней файлы cookie очищаются, пользователь заходит вернуться на мой сайт, нажимает «Войти в Google»
  3. У пользователя больше не запрашивается разрешение, и он сразу же входит в систему.

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

В моих тестах, когда я отправляю их на исходный URL-адрес авторизации на шаге 1, у них снова запрашиваются разрешения.

РЕДАКТИРОВАТЬ: решение найдено

Google-API по умолчанию помещает «approval_prompt=force» при создании URL-адреса авторизации.

25
задан timh 9 May 2012 в 13:56
поделиться