Процесс Oauth2 с Google на Ionic 4 застрял в «пожалуйста, подождите»

#oauth-2.0 #ionic4

#oauth-2.0 #ionic4

Вопрос:

У меня есть учебное приложение Ionic 4, вставленное из github.com/ionicthemes/ionic-google-login У меня есть следующий код, который вызывается:

 this.googlePlus.login({
      'scopes': '', // optional - space-separated list of scopes, If not included or empty, defaults to `profile` and `email`.
      'webClientId': environment.googleWebClientId, // optional - clientId of your Web application from Credentials settings of your project - On Android, this MUST be included to get an idToken. On iOS, it is not required.
      'offline': true, // Optional, but requires the webClientId - if set to true the plugin will also return a serverAuthCode, which can be used to grant offline access to a non-Google server
    }).then(user => {
      console.log('    user is:', user);
    }, err => {
      console.log("    google login error:", err);
    })
  

И ни сообщения об успехе, ни сообщения об ошибках не печатаются. Я застрял, ожидая ответа от Google.

Я сделал это: keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v и добавил отпечаток пальца sha1 на console.developers.google.com . Имя пакета совпадает (com.tgm_ionic), и я выбрал oauth2 android flow.

Дополнительная информация: раньше это работало на платформе браузера, но в симуляторе Android произошел сбой с ошибкой 10, которая является «недопустимой аудиторией». Итак, я создал новые учетные данные для перехода с платформы браузера на платформу Android (все еще oauth2), и теперь я сталкиваюсь с этой проблемой. Цель здесь — иметь возможность входить в систему на Android, а не в браузере.

Ответ №1:

Убедитесь, что ваш webClientId указан правильно. Вы можете сослаться на это в консоли API Google, затем просмотрите учетные данные и проверьте свои идентификаторы клиентов OAuth 2.0. Часто в этих гибридных приложениях пользователи используют ключ Android, когда требуется идентификатор веб-клиента.

Комментарии:

1. <целое число> -<хэш>.apps.googleusercontent.com и наоборот, они верны.

2. Вы уверены, что он предназначен для веб-клиента, а не для Android?