При запросе учетных данных OAuth я могу указать, что access_type будет автономным или онлайн.
Выбор типа доступа Online заставляет пользователей одобрять доступ к моему приложению каждый раз, когда они заходят в систему. Почему это? Разве пользователь не одобрил мое приложение?
Обновление # 1:
У меня есть параметр authorized_prompt, заданный как "auto".
Если я просто выйду из Google, не удалив файлы cookie, это не подскажет мне снова. Но удаление файлов cookie возвращает экран разрешения.
Обновление # 2:
Он отлично работает на игровой площадке OAuth. http://code.google.com/oauthplayground/
Использование OAuth 2.0 для приложений веб-сервера https://developers.google.com/accounts/docs/OAuth2WebServer
Обновление # 3: Соответствующие фрагменты кода
Вспомогательный метод для создания URL-адреса OAuth
def build_auth_uri
return @client.authorization.authorization_uri(
:access_type => :online,
:approval_prompt => :auto
).to_s
end
Вызов метода помощника в представлении
<a href="<%= build_auth_uri %>"> Connect Me! </a>
Сгенерированный URL-адрес OAuth на веб-странице
https://accounts.google.com/o/oauth2/auth?access_type=online&approval_prompt=auto&redirect_uri=http://localhost:3000/gclient/gcallback&response_type=code