Подтвердить что ты не робот

Приложение продолжает запрашивать разрешение "иметь автономный доступ", почему?

После авторизации приложения с помощью oAuth2 и получения разрешений для запрашиваемых областей, я все равно получаю экран с вопросом, разрешаю ли я разрешение приложения на иметь автономный доступ, каждый раз, когда я пытаюсь войти в систему с помощью Google oAuth2, Разве это не то, что не должно появляться снова, как только я дам ему разрешение на его использование?

enter image description here

4b9b3361

Ответ 1

Используете ли вы параметр approval_prompt? Старайтесь не запрашивать офлайн-доступ снова, если у вас уже есть токен обновления. Он должен оставаться в силе, даже если пользователь снова войдет в систему, не запрашивая автономный доступ.

Ссылка об этом можно найти здесь.

Ответ 2

Это приглашение может возникнуть из-за двух параметров,

  • access_type (если он отключен)
  • assert_prompt (если это "сила" )

убедитесь, что вы установили access_type в 'online' и apporoval_prompt в 'auto'

 $client->setAccessType('online');
 $client->setApprovalPrompt('auto') ;

Ответ 3

Мое предположение заключается в том, что ваше приложение имеет assert_prompt = силу для принудительного вывода OAuth каждый раз. Поскольку пользователь уже разрешил все области, которые вы запросили, их не нужно повторять. Однако экран должен что-то сказать, поэтому в отсутствие каких-либо лучших идей Google запрашивает "автономный доступ".

Просто убедитесь, что вы не заставляете auth, и все должно быть в порядке.

Ответ 4

Это не ошибка. Это обычный сценарий google oauth2.

Согласование первого процесса следующим образом:

  • Пользователь соглашается с приложением получать информацию о пользователе.
  • Когда пользователь нажимает кнопку "Принять", браузер сохраняет информацию о согласии в файл cookie, а учетная запись google сохранит разрешение (просмотрите https://security.google.com/settings/security/permissions)

От второго процесса:

Браузер проверяет разрешение cookie для разрешения учетной записи google.

  • Если cookie существует в браузере и имеет разрешение для этого приложения (https://security.google.com/settings/security/permissions): экран согласия будет проигнорирован
  • Если файл cookie существует в браузере, но не имеет разрешения для этого приложения: появится экран согласия.
  • Если cookie не существует в браузере: приложение отобразит "Доступ в автономный режим".

Ответ 5

Скорее всего, это очень нормально в соответствии с инкрементным механизмом auth и его дизайном. Идея в том, что пользователь уже предоставил разрешения для приложения, нет необходимости показывать одинаковые разрешения и попросить пользователя одобрить.

http://googleplusplatform.blogspot.com/2013/12/google-sign-in-improvements11.html