Интеграция Google Oauth в электронную почту с расширением Chrome - PullRequest
0 голосов
/ 12 февраля 2019

Я создаю расширение Chrome с аутентификацией Google.Я создал приложение в консоли Google и получил идентификатор клиента.Это включено в manifest.json файл.Мне нужно получить адрес электронной почты аутентифицированного пользователя.

В скрипте я использовал следующий код для получения данных о пользователе.

chrome.identity.getAuthToken({
    interactive: true
}, function(token) {
    if (chrome.runtime.lastError) {
        alert(chrome.runtime.lastError.message);
        return;
    }
    var x = new XMLHttpRequest();

    x.open('GET', 'https://www.googleapis.com/oauth2/v2/userinfo?access_token=' + token+'&alt=json&prettyPrint=true');
    x.onload = function() {
    console.log(x.response);
    };
    x.withCredentials = false;
    x.send();
});

Я получил ответ как:

{
  "id": "108585013132758765",
  "name": "Sankar",
  "given_name": "Sankar",
  "family_name": "Gowri",
  "link": "https://plus.google.com/108585013132758765",
  "picture": "xxxxxx",
  "gender": "male",
  "locale": "en"
}

Но я не получил адрес электронной почты в этом ответе.

Если я использую следующий URL, получая ошибку перекрестного источника:

x.open('GET', 'https://www.googleapis.com/auth/userinfo.email?access_token=' + token+'&alt=json&prettyPrint=true');

Как разрешить cors?

1 Ответ

0 голосов
/ 12 февраля 2019

Чтобы конечная точка информации пользователя возвращала вам адрес электронной почты пользователя.Вы, должно быть, запросили объем электронной почты при аутентификации пользователя.

...