我对OpenID Connect身份验证非常了解! (也是OAuth2.0 ..)
无论如何,我的问题是,
“JWT的必要用户数据是什么?” (“sub”或“user-email”?)
谷歌签到这是什么意思? 我想,我们无法更改Google帐户的电子邮件,不是吗?
注意:Google帐户的电子邮件地址可能会发生变化,因此请勿使用它来识别用户。相反,使用帐户的ID,您可以使用getBasicProfile()。getId()获取客户端的ID,并使用ID令牌的子索引的后端。
答案 0 :(得分:3)
sub
中需要id_token
声明,email
是可选的,请参阅:http://openid.net/specs/openid-connect-core-1_0.html#IDToken。正如您所提到的,电子邮件地址可能会发生变化,sub
不应更改,并且与代表提供商的iss
声明相结合 - 在您的情况下为Google - 它可用于获取全球唯一的用户标识符