Отсутствие пояснений к документации для входа в 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 ответ:
Идентификатор профиля-это статическая строка, представляющая пользователя. Если вы используете его самостоятельно для входа пользователя на ваш сервер и выдачи файла cookie или сеанса, то, если злоумышленник узнает идентификатор пользователя, он может подделать запрос на вход на ваш сервер и выдать себя за пользователя, украсть его данные или совершить транзакции от его имени.
С другой стороны, ID-токен имеет криптографическую подпись JSON Web Token. Проверяя маркер, как описано в документации, вы можете быть убедитесь, что он пришел от Google и был выдан вашему законному клиентскому приложению. Идентификатор маркера истекает через час, а новый будет отличаться. В документации есть общее объяснение этих концепций безопасности, проверьте видео для объяснения ID-маркеров.Https://developers.google.com/identity/sign-in/web/backend-auth