Это мое понимание потока авторизации для веб-приложения;
Это рекомендуется для мобильных приложений согласно RFC 8252
Когда я перехожу к 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()
Однако, если мой вывод верен, тогда возникает больше вопросов для проверки моего вывода.
- Когда я передам идентификатор клиента, сгенерированный для Android?
- Каким будет URL перенаправления в этом случае?(Я не думаю, что нам нужно его устанавливать)
- Придется ли мне использовать все идентификаторы клиента на стороне сервера для проверки auth_code?