Обновление токенов с помощью GIDSignIn iOS

В настоящее время я использую знак google для аутентификации пользователей в моем приложении, но у меня возникают проблемы с id_token после его обновления. У меня установлены следующие переменные. Один для клиента iOS, а один для сервера. Это следует за примерами AWS. Я использую AWS для доступа к серверу и поэтому должен иметь идентификатор клиента и идентификатор веб-приложения.

static let GOOGLE_CLIENT_ID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx7dde.apps.googleusercontent.com" // Backend web application client ID static let GOOGLE_WEB_APPLICATION_ID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx65ap.apps.googleusercontent.com" 

Когда я впервые вхожу в приложение, он работает так, как ожидалось. Я получаю идентификатор id, который имеет следующее:

 { "iss": "https://accounts.google.com", "at_h ash": "xxxxxxxxxxxxxxxxxxxxxx", "aud": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx65ap.apps.googleusercontent.com", "sub": "xxxxxxxxxxxxxxxxxxxxxx", "email_verified": true, "azp": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx7dde.apps.googleusercontent.com", "email": "2222MyNewEmailIsHere@gmail.com", "iat": 1475747692, "exp": 1475751292 } 

Вы можете видеть, что «aud» соответствует GOOGLE_WEB_APPLICATION_ID, а «azp» соответствует GOOGLE_CLIENT_ID.

Однако, если я делаю refreshTokensWithHandler следующим образом:

 GIDSignIn.sharedInstance().currentUser.authentication.refreshTokensWithHandler { (GIDAuthentication, error) in self.googleAuth = GIDAuthentication; self.completeGoogleLogin() } 

Я получаю проблему с ответом. Идентификатор id обновляется правильно и, таким образом, имеет новый токен идентификатора. Однако «aud», кажется, перезаписывается идентификатором клиента. Это случается, истек ли токен или нет.

 { "iss": "https://accounts.google.com", "at_h ash": "xxxxxxxxxxxxxxxxxxxxxx", "aud": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx7dde.apps.googleusercontent.com"", "sub": "xxxxxxxxxxxxxxxxxxxxxx", "email_verified": true, "azp": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx7dde.apps.googleusercontent.com", "email": "2222MyNewEmailIsHere@gmail.com", "iat": 1475747692, "exp": 1475751292 } 

Как вы можете видеть, «aud» и «azp» одинаковы во втором ответе. Когда я отправляю запрос на сервер, он жалуется, что токен не может быть проверен.

Мне интересно, если кто-то еще испытал это? Похоже, проблема с GIDSignIn может быть.

  • Получать контакты Google с помощью API на iOS
  • Многократный вход Google с использованием GIDSignin
  • ITMS-90535 Не удалось опубликовать приложение iOS с последним SDK Google Signin
  • Используя Google Sign-in с двумя целями
  • Как обновить authentication.idToken с помощью GIDSignIn или GIDAuthentication?
  • iOS Google SignIn просматривает отсутствующую навигационную панель и нижнюю панель
  • В системе GoogleSignIn iOS отсутствует поддержка Bitcode
  • Ошибка транзитивных зависимостей при установке контейнеров из какао
  • Не удалось настроить Firebase InstanceID
  • Google SignIn для iOS не удается построить, потому что ищет файл, который не существует
  • «Нет зарегистрированного обработчика ошибки URL-адреса com-google-gidconsent» при голосовании при использовании GIDSignIn
  • Interesting Posts

    iOS – childViewController не принимает события

    dispatch_after и performSelector afterDelay

    Клиент для ледяного литья для ios

    Ошибка Cocos2D 2.0 OpenGL?

    Обрезать захваченное изображение точно так, как оно выглядит в AVCaptureVideoPreviewLayer

    UIUserNotificationSettings отказывается принимать несколько типов уведомлений в swift

    Высокое разрешение / сетчатка отображает имена файлов приложений для нового iPad

    Ошибка «Ожидаемая декларация» в Swift в userDefaults

    Xcode 7.1 Allocations Инструмент SIP Выбрасывает подгонку

    Использование convertPoint для получения относительной позиции внутри родительского UIView

    Как установить цвет оттенка навигационного заголовка для модального интерфейса в WatchKit?

    Обновление таблицы маршрутизации IP с помощью iOS

    Может ли возвращать нуль?

    iOS – размещение двух ярлыков в центре их супер-просмотра

    Как создать округленный UIButton с радиусом только левого и нижнего левого угла

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.