Google не разрешит вам выполнять прямую аутентификацию, напрямую обрабатывая учетные данные пользователя. Вместо этого Google хочет, чтобы вы выполнили протокол аутентификации, обычно OAuth 2.0. Другие популярные протоколы аутентификации, о которых вы можете услышать, - это OpenID 1.0, 2.0, OpenID Connect, SAML 2.0, ID-FF и т. Д. Эти протоколы перенаправят пользователя к провайдеру идентификации (в данном случае Google) и отправят вас обратно с утверждение , которое вы можете использовать для доверия пользователю. С такими API, как Google, вы бы использовали функцию авторизации OAuth, которая предоставляет вам токен, который вы можете использовать со всеми API Google после аутентификации.
С PhoneGap и мобильными приложениями все немного отличается от обычной настройки OAuth.
В вашем случае браузер находится в контролируемой среде вашего приложения, и вы можете
- выберите, чтобы перенаправить пользователя на конечную точку авторизации Google с помощью основного вида,
- выберите, чтобы открыть ChildBrowser с конечной точкой авторизации Google, чтобы не потерять состояние в вашем приложении.
- чтобы как-то открыть Safari или другой браузер с конечной точкой авторизации и зарегистрировать пользовательский обработчик схемы, чтобы перенаправить пользователя обратно в ваше приложение после аутентификации.
Эти примеры смутно упоминаются в спецификациях OAuth 2.0, но нет никакой помощи в том, что является лучшим или оптимальным в конкретном случае использования. Часто лучший из возможных вариантов не идеален (с точки зрения пользователя).
Недавно я написал учебник о том, как заставить это работать с Phonegap и ChildBrowser для iOS.