GIDSignIn требует пароль

Я разрабатываю внутреннее приложение, которое будет использовать наши корпоративные учетные записи Google Диска и будет использоваться на общих устройствах (iPad, которыми пользуются учителя и учащиеся на школьных сайтах).

Есть ли способ заставить GIDSignIn запрашивать пароль при каждой попытке входа? Прямо сейчас, даже после вызова GIDSIgnIn.sharedInstance().signOut() (или GIDSignIn.sharedInstacne().disconnect()), пользователю не нужно вводить свой пароль при следующем доступе к приложению. Это означает, что когда устройство захватит следующий пользователь, он может очень легко получить доступ к учетной записи другого пользователя.

Я что-то пропустил? Нужно ли как-то очищать хранилище куки в UIWebView, которое использует процесс GIDSignIn?


person Greg    schedule 18.12.2015    source источник
comment
привет Грег! вы нашли какие-нибудь решения? я тоже застрял   -  person tryKuldeepTanwar    schedule 31.07.2018
comment
Не совсем. Поскольку приложения, которые я разрабатываю, находятся под корпоративной лицензией, у меня есть журнал пользователя в первый раз с Safari (в приватном режиме) или на ПК, и я храню токен сервера для пользователя, который я затем могу использовать для API. Однако этот метод не будет работать для приложений App Store.   -  person Greg    schedule 05.08.2018


Ответы (1)


Там, где это возможно, процесс входа в систему GIDSignIn использует SFSafariViewController, а не UIWebView. Он использует файлы cookie (а также пароли), хранящиеся в Safari, для более быстрого входа в систему.

Я не думаю, что вы сможете очистить такие файлы cookie. Тем не менее, вы должны иметь возможность принудительно выйти из Google, открыв https://www.google.com/accounts/Logout в SFSafariViewController, хотя взаимодействие с остальной частью вашего приложения может быть немного странным. См. ссылку для выхода с URL-адресом возврата (OAuth), чтобы узнать, как обеспечить возврат URL-адрес, который вы можете попытаться использовать для управления процессом (однако вам нужно будет использовать схему URL-адреса для возврата).

Обратите внимание, что iOS может предложить сохранить информацию для входа, а затем предоставить эту информацию для входа последующим пользователям. Вам нужно будет отключить это в Настройки -> Safari -> Автозаполнение

Могут быть и другие способы добиться этого через настройку устройства, но iOS на данный момент не предназначена для нескольких пользователей.

person jcaron    schedule 18.12.2015
comment
Спасибо за предложения. - person Greg; 18.12.2015