2012-07-04 4 views
0

Мне нужно получить доступ к веб-интерфейсу Gmail изнутри WebView в моей деятельности. Для очевидных причин безопасности/доверия я хотел бы не запрашивать у пользователя его учетные данные Gmail и хранить их где-нибудь, а скорее использовать что-то вроде OAuth, чтобы получить доступ к Gmail. Из того, что я нашел, OAuth реализуется только для IMAP и SMTP-доступа к Gmail-учетной записи, правильно?Вход в веб-интерфейс Gmail с использованием OAuth

Будет ли использовать webView.getSettings().setSavePassword(true); и разрешить пользователю подписываться при первом использовании приложения? Как я могу автоматически отправлять сохраненные данные при последующих запусках приложений?

Спасибо,
Ник

ответ

0

Вы должны рассматривать свой WebView как браузер. Как браузер, такой как Chrome, позволяет автоматически подписываться при каждом посещении Gmail? Он хранит файлы cookie сеанса из Gmail.

Чтобы сохранить файлы cookie с вашего WebView и повторно использовать их в следующий раз, ознакомьтесь с CookieManager.

+0

Спасибо за ваш ответ! Это «привязало бы меня» к истечению срока действия cookie, установленному Gmail, а это означает, что пользователю необходимо будет снова войти в систему после того, как, например, 1 неделя, правильно? (Я не знаю, какое время истечения срока действия cookie сеансов Gmail). Я бы предпочел, чтобы у пользователя было задано «установить-раз-и-забыть». – Nick

+0

Ну, как вы уже видели, OAuth доступен только для IMAP/SMTP, а не для входа в свой веб-интерфейс. Поскольку вы не хотите хранить учетные данные пользователя, к сожалению, единственный способ - хранить файлы cookie сеанса. –

+0

Если вы сохранили учетные данные пользователя, вы можете попробовать подделать запрос на вход, который отправляется на https://accounts.google.com/ServiceLoginAuth для автоматического входа в систему. –

Смежные вопросы