Я ввел код входа в Google с аутентификацией для доступа к Google Диску и получил кнопку выхода со следующим рекомендуемым кодом из Google:
GIDSignIn.sharedInstance().signOut()
Однако каждый раз после первого запуска приложения процесс входа больше не запрашивает мой пароль.
Если я войду в систему, а затем нажму кнопку «Выйти», в следующий раз, когда я нажму кнопку «Вход», мне будет предложено ввести учетную запись Google, а затем будет предложено разрешить доступ к диску Google.
Если я войду и выйду из приложения, не нажимая кнопку выхода, в следующий раз, когда я нажимаю кнопку входа, я не получаю никаких запросов и полностью захожу в систему.
Такое поведение согласуется с заявлением Google относительно кода быстрого запуска (https://developers.google.com/drive/v3/web/quickstart/ios?ver=swift):
«Информация об авторизации хранится в вашей цепочке для ключей, поэтому последующие выполнения не будут запрашивать авторизацию».
То есть команда выхода GIDSignIn.sharedInstance (). SignOut (), похоже, работает на стороне Google (нужно выбрать учетную запись Google и разрешить доступ к диску Google при следующем входе в систему), но не на стороне iOS, так как Похоже, что iOS сохранила пароль (предположительно в цепочке для ключей) и всегда передает его в Google при первом входе в систему.
Я видел сообщение для Google Sign Out iOS , где Бирендра рекомендовала попробовать
[GTMOAuth2ViewControllerTouch removeAuthFromKeychainForName:kKeychainItemName];
для удаления пароля из цепочки для ключей устройства iOS.
Мне не повезло узнать, как использовать это предложение. Может кто-нибудь объяснить, как удалить информацию о пароле, введенную пользователем с помощью Google SignIn? (Предполагая, что это то, что нужно сделать, чтобы полностью выйти из системы). Я пользуюсь Swift.
Обычно, когда брелок запоминает пароль для Google, проблем не будет, но это приложение для сбора исследовательских данных. Испытуемые будут использовать свое собственное устройство iOS (iPhone) и войти в учетную запись Google лаборатории, поэтому мы не хотим, чтобы этот пароль оставался в их цепочке для ключей.
Помощь приветствуется.