Отсутствие пояснений к документации для входа в Google


Я читаю документы овходе google Oauth2 .

Вот запутанная часть:

    var profile = googleUser.getBasicProfile();
    console.log("ID: " + profile.getId()); // Don't send this directly to your server!
    console.log('Full Name: ' + profile.getName());

Что хранится в profile.getId и что произойдет, если я отправлю его?

Что хранится в id_token вместо этого? Я хотел бы получить разъяснения вместо рекомендаций в комментариях.

    // The ID token you need to pass to your backend:
    var id_token = googleUser.getAuthResponse().id_token;

Бонусный вопрос: возвращает ли Google один и тот же id_token каждый раз, когда я регистрируюсь с помощью одного и того же аккаунта?

1 2

1 ответ:

Идентификатор профиля-это статическая строка, представляющая пользователя. Если вы используете его самостоятельно для входа пользователя на ваш сервер и выдачи файла cookie или сеанса, то, если злоумышленник узнает идентификатор пользователя, он может подделать запрос на вход на ваш сервер и выдать себя за пользователя, украсть его данные или совершить транзакции от его имени.

С другой стороны, ID-токен имеет криптографическую подпись JSON Web Token. Проверяя маркер, как описано в документации, вы можете быть убедитесь, что он пришел от Google и был выдан вашему законному клиентскому приложению. Идентификатор маркера истекает через час, а новый будет отличаться. В документации есть общее объяснение этих концепций безопасности, проверьте видео для объяснения ID-маркеров.

Https://developers.google.com/identity/sign-in/web/backend-auth