Приложение продолжает запрашивать разрешение "иметь автономный доступ", почему?
После авторизации приложения с помощью oAuth2 и получения разрешений для запрашиваемых областей, я все равно получаю экран с вопросом, разрешаю ли я разрешение приложения на иметь автономный доступ, каждый раз, когда я пытаюсь войти в систему с помощью Google oAuth2, Разве это не то, что не должно появляться снова, как только я дам ему разрешение на его использование?
![enter image description here]()
Ответы
Ответ 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