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

Использование Google OAuth 2 на встроенном устройстве на базе Android

У нас есть приложение для встроенного Android-устройства, оно использует WebView, и внутри него мы используем Google OAuth 2 для входа в приложение. К сожалению Google скоро заблокирует OAuth 2 внутри WebView, и у нас есть много ограничений:

  • У устройства нет установленных служб Google, поэтому возможно, что
4b9b3361

Ответ 1

В соответствии с проблемами на вашей стороне было бы лучше открыть Intent из приложения, нацеленного на знак в Weburl [это не вызовет ссылку на адресную строку]

Обратитесь к этой странице stackOverflow как открыть "Добавить учетную запись Google" с использованием намерения?

теперь вы можете использовать Общие предпочтения для хранения данных аутентификации для дальнейшего входа в систему [если это разрешено приложениям приложения.]

https://developer.android.com/reference/android/content/SharedPreferences.html

Ответ 2

Реализация через браузер:

1) Зарегистрируйте настраиваемую схему URI (Как реализовать мою собственную схему URI на Android), например app-oauth2://

2) Сделать запрос доступа в браузере пользователя

https://accounts.google.com/o/oauth2/v2/auth?
scope=...
access_type=offline&
include_granted_scopes=true&
state=state_parameter_passthrough_value&
redirect_uri=http://example.com/oauth2-handler&
response_type=code&
client_id=...

3) Если пользователь принимает или отклоняет запрашиваемые права в диалоговом окне подтверждения, он будет перенаправлен на redirect_uri (http://example.com/oauth2-handler) с некоторыми параметрами

4) Со стороны обработчика redirect_uri (http://example.com/oauth2-handler), перенаправить к пользовательскому URI схема с параметрами:

  • Успех: app-oauth2://? state = state_parameter_passthrough_value & code =... & scope =... #
  • Отказ: app-oauth2://? error = access_denied & state = state_parameter_passthrough_value #

5) В вашем приложении вы можете проанализировать схему URI app-oauth2:// из опции 4 и получить код для будущего использования или ошибку для отображения пользователю.

Ответ 3

Для реализации решения, основанного на ваших потребностях, вам необходимо использовать веб-службы OAuth.

Ссылка ссылки: https://developers.google.com/+/web/api/rest/oauth

Вот пример проекта github, который использует веб-службу OAuth 2 для входа в Twitter. Вы можете воспользоваться этой возможностью для использования веб-сервисов Google OAuth2 в приложении для Android.

Ссылка репозитория:
https://github.com/sathify/tagpulse

Ссылка на экран использования веб-сервиса: https://github.com/sathify/tagpulse/blob/master/android/src/tag/pulse/main.java

Надеюсь, это поможет.