Как работает вход в Google для приложений Android? - PullRequest
0 голосов
/ 21 ноября 2018

Это мое понимание потока авторизации для веб-приложения;

enter image description here

Это рекомендуется для мобильных приложений согласно RFC 8252

enter image description here

Когда я перехожу к Google developers console > Create Credentials > OAuth Client id > Android [Application type], он запрашивает у меня: имя, отпечаток SHA1 и имя пакета.

Я предполагаю, что URI перенаправления не требуется, и мое приложение получит элемент управления или, скорее, код авторизации, когда пользователь авторизует мое приложение, когда я задаю имя пакета при создании учетных данных.(Как указано в этот ответ ).Пожалуйста, исправьте меня, если мое понимание неверно.

На данный момент мне нужно отправить auth_code на сервер для проверки, которая требует идентификатор клиента и секрет.Но во время создания учетных данных мне не предоставлен секрет клиента.

Так как именно все это должно работать?

ОБНОВЛЕНИЕ

Я попытался сгенерировать конфигурацию из их учебника .Он сгенерировал 2 учетных данных: один для веб-приложения, другой для Android.Он также сгенерировал credentials.json, который содержит запись для веб-клиента.Теперь, если я правильно понял, этот код будет идти в приложение для Android, чтобы получить код авторизации.

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .requestServerAuthCode("client id issued for web application")'
        .build()

Однако, если мой вывод верен, тогда возникает больше вопросов для проверки моего вывода.

  1. Когда я передам идентификатор клиента, сгенерированный для Android?
  2. Каким будет URL перенаправления в этом случае?(Я не думаю, что нам нужно его устанавливать)
  3. Придется ли мне использовать все идентификаторы клиента на стороне сервера для проверки auth_code?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...