缺少对 Google 登录文档的解释
Lack of explanation to Google Sign-In documentation
我正在阅读有关 google Oauth2 sign-in 的文档。
这是令人困惑的部分:
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 return 每次我使用同一个帐户登录时, id_token
都是一样的吗?
个人资料 ID 是代表用户的静态字符串。如果您单独使用它来让用户在您的服务器上登录并发出 cookie 或会话,那么如果攻击者获知用户的 ID,他们可能会伪造对您的服务器的登录请求并冒充用户,窃取他们的数据或代表他们进行交易。
另一方面,ID 令牌是加密签名的 JSON Web Token。通过按照文档中的描述验证令牌,您可以确定它来自 Google 并已颁发给您的合法客户端应用程序。 ID 令牌在一小时后过期,新的会有所不同。
文档确实对这些安全概念进行了一般性解释,请查看 video 以了解 ID 令牌的解释。
https://developers.google.com/identity/sign-in/web/backend-auth
我正在阅读有关 google Oauth2 sign-in 的文档。
这是令人困惑的部分:
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 return 每次我使用同一个帐户登录时, id_token
都是一样的吗?
个人资料 ID 是代表用户的静态字符串。如果您单独使用它来让用户在您的服务器上登录并发出 cookie 或会话,那么如果攻击者获知用户的 ID,他们可能会伪造对您的服务器的登录请求并冒充用户,窃取他们的数据或代表他们进行交易。
另一方面,ID 令牌是加密签名的 JSON Web Token。通过按照文档中的描述验证令牌,您可以确定它来自 Google 并已颁发给您的合法客户端应用程序。 ID 令牌在一小时后过期,新的会有所不同。
文档确实对这些安全概念进行了一般性解释,请查看 video 以了解 ID 令牌的解释。
https://developers.google.com/identity/sign-in/web/backend-auth