1

Я пишу упакованное приложение, используя javascript для веб-магазина google chrome, и мне нужно идентифицировать электронную почту пользователей. используя Identity Я извлек токен OAuth 2.0 (по chrome.identity.getAuthToken() command). Что дальше?Как получить google openId с использованием OAuth 2.0 в javascript?

Я нашел this documentation, но я боюсь, что он может использоваться только для размещенных хром-приложений.

ответ

1

Вышеупомянутая документация может использоваться также в тех случаях, когда приложение имеет только клиентское присутствие. Вы можете извлечь email_address из id_token (https://developers.google.com/accounts/docs/OAuth2Login#obtainuserinfo); это было бы наиболее эффективно. Или вы можете использовать access_token для извлечения тех же данных из конечной точки user_info, что требует другого запроса AJAX (https://developers.google.com/accounts/docs/OAuth2Login#obtaininguserprofileinformation).

Если вам удастся настроить виджет входа в систему G + для вашего расширения, вы обнаружите, что он значительно упрощает эти задачи. Обратите внимание, что G + Sign-In недавно обновлен и работает для всех пользователей аккаунта Google (включая пользователей Google Apps) независимо от того, зарегистрирован ли он для службы Google+ или нет. См. https://developers.google.com/+/ для получения дополнительной информации.

+0

Я не могу сделать запрос https, чтобы получить id_token .. Как это сделать ?? Для второго варианта я действительно не понимаю, где я должен добавить область действия: «scope = openid% 20email% 20profile», а также как отправить запрос. – 31415926

+0

Чтобы получить id_token, вы используете response_type = id_token или если вы хотите получить как id_token, так и access_token вы можете установить response_type = id_token% 20token – breno

+0

Оба этих параметра должны быть добавлены к URL-адресу аутентификации, который начинается с https://accounts.google.com/o/oauth2/auth Документация OAuth2Login, приведенная выше, даст вы получите больше информации о том, как объединить эти URL-адреса. – breno