Запросить только открытую область от входа в Google для веб-сайтов - PullRequest
0 голосов
/ 19 апреля 2019

Я интегрирую вход Google в свое веб-приложение, но независимо от того, что я указываю, в процессе входа в систему всегда отображается предупреждение:

Чтобы продолжить, Google поделится вашим именем, адрес электронной почты и изображение профиля с [имя приложения].

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

В соответствии с документацией Я установил:

function login() {
  gapi.auth2.init({
    client_id: myClientIdHere,
    cookie_policy: 'none',
    fetch_basic_profile: false,    // <-- remove basic profile
    scope: 'openid',               // <-- request only openid
    ux_mode: 'redirect', // <-- using redirect to avoid popup blocker issues
    redirect_uri: myRedirectUriHere,
  }).then((GoogleAuth) => {
    GoogleAuth.signIn() // [etc]
  });
}

function init() {
  gapi.load('auth2', login);
}

Проверка сетевых запросов показывает, что это направляет пользователя к:

https://accounts.google.com/o/oauth2/auth?redirect_uri=[myRedirectUri]&response_type=permission%20id_token&scope=openid&openid.realm=&client_id=[myClientId]&ss_domain=[myDomain]&fetch_basic_profile=false&gsiwebsdk=2

Что выглядит правильно.Я попытался настроить этот URL и вручную перейти к нему, и, независимо от того, что я изменяю, всегда отображается предупреждение.

В моем проекте консоли Google API в разделе Учетные данные -> Экран согласия OAuth -> Области для GoogleAPI, я вижу, что в списке есть "email", "profile" и "openid", и я не могу найти никакой возможности удалить их.

Я не знаю, действительно ли он посылает мне этоинформация, когда пользователь входит в систему, но я хотел бы удалить предупреждение с экрана входа в систему.

Как я могу использовать вход в Google просто для входа?Как я могу предотвратить это, давая мне информацию о профиле / адресе электронной почты?

1 Ответ

0 голосов
/ 20 апреля 2019

Когда вы получаете токен доступа от Google, вы можете позвонить в конечную точку userinfo и получить информацию о профиле пользователя, используя область openid, поэтому, даже если вам не нужны адрес электронной почты и информация о профиле, вы все равно можете получить эту информацию черезконечная точка userinfo [1].

[1] https://developers.google.com/identity/protocols/OpenIDConnect#obtaininguserprofileinformation

...