OpenId Connect JWT 子或电子邮件

OpenId Connect JWT sub or email

我对 OpenID Connect 身份验证还很陌生! (也有 OAuth2.0..)

无论如何我的问题是,

"What is the necessary user-data things of the JWT?" ("sub" 还是 "user-email"?)

google 登录说的真正意思是什么? 我想,我们不能更改 Google 帐户的电子邮件,不是吗?

注意:Google 帐户的电子邮件地址可以更改,因此不要使用它来识别用户。相反,使用帐户的 ID,您可以在客户端使用 getBasicProfile().getId() 获取该 ID,并在后端从 ID 令牌的子声明中获取。

sub 声明在 id_token 中是必需的,email 是可选的,请参阅:http://openid.net/specs/openid-connect-core-1_0.html#IDToken。正如您提到的电子邮件地址可以更改,sub 不应更改,当与代表提供者的 iss 声明结合使用时 - Google 在您的情况下 - 它可用于获取全球唯一用户标识符。