【问题标题】:OpenId Connect JWT sub or emailOpenId Connect JWT 子或电子邮件
【发布时间】:2017-03-16 12:08:42
【问题描述】:

我对 OpenID Connect 身份验证非常陌生! (也是OAuth2.0 ..)

无论如何我的问题是,

“JWT 的必要用户数据是什么?” (“子”或“用户电子邮件”?)

谷歌登录所说的真正含义是什么? 我想,我们不能更改 Google 帐户的电子邮件,不是吗?

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

【问题讨论】:

    标签: google-signin openid-connect google-openid google-account googlesigninaccount


    【解决方案1】:

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

    【讨论】:

    • 非常感谢!而且我有一些问题,id_token 也有“exp”(到期时间)所以,在 RP 中,如果 exp 时间结束,我是否也会获得新的有效 id_token?我对过期时间有些困惑,比如刷新访问令牌..
    • exp 表示令牌本身何时失效,此后接收者不应再接受它;它不一定与 RP 在最初收到 id_token 时启动的会话有关
    猜你喜欢
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 2022-06-16
    相关资源
    最近更新 更多