Authentication “你怎么样?”;jti"&引用;客户“保密”;及;exp";用于验证;id_token";?

Authentication “你怎么样?”;jti"&引用;客户“保密”;及;exp";用于验证;id_token";?,authentication,google-identity,Authentication,Google Identity,我正在做这个“教程” 我似乎明白了这个概念背后的想法 基本上,用户通过谷歌认证自己,获得一个“证书”,证明他就是他,并将其发送给我,我通过谷歌(公钥)的帮助验证该证书,我可以为属于“sub”中id的用户创建会话,因为我可以确定它是由谷歌(“iss”)为我(“aud”)创建的,不久前(“exp”) 但是,正如我看到的,当令牌有效时,有1小时的间隔。 我不太明白,为什么整整一个小时。我猜原因是令牌可能会以某种方式被盗(具体如何?),然后攻击者就可以模拟用户。如果这就是原因,为什么不在谷歌登录发生后

我正在做这个“教程”

我似乎明白了这个概念背后的想法

基本上,用户通过谷歌认证自己,获得一个“证书”,证明他就是他,并将其发送给我,我通过谷歌(公钥)的帮助验证该证书,我可以为属于“sub”中id的用户创建会话,因为我可以确定它是由谷歌(“iss”)为我(“aud”)创建的,不久前(“exp”)

但是,正如我看到的,当令牌有效时,有1小时的间隔。 我不太明白,为什么整整一个小时。我猜原因是令牌可能会以某种方式被盗(具体如何?),然后攻击者就可以模拟用户。如果这就是原因,为什么不在谷歌登录发生后5分钟,或者1分钟,因为这是一个一次性令牌,只用于登录

我也。。。我看到一个“jti”(令牌id)和一个客户端密码。 当我在谷歌控制台上创建我的凭证时,我还收到了一个client_secret(以及client_id)。但是我没有在任何地方使用它,它的目的是什么

我应该使用jti来确保没有其他人想使用id_令牌吗?如果是这样做的话(我怀疑,这会导致使用过的“jti”的数据库不断增长),为什么在本教程中没有提到这一点

我用自己的方式完成了教程,它正在发挥作用——但是这些问题仍然存在。总而言之:

所有的工作都完成了,这是教程建议的

1.我必须对“jti”做些什么吗?如果我不使用它做任何事情,我会留下安全漏洞吗

2.关于客户机密的问题几乎是一样的——我不使用它会留下安全漏洞吗?(为什么我有它呢?)

3.那“经验”呢?我知道verify()方法会处理它,但是我必须对它做些什么吗?(如果重要的话,为什么是1小时,为什么这么长,如果不是,为什么不是很长。maxValue还是什么的?)


我想根据上面写的内容,我了解到了正在发生的事情,但同时,我不想完全理解正在发生的事情,(所有这些字段和值)我可能会造成巨大的安全漏洞-对我来说,似乎没有所有这些,身份验证可能工作得很好,但为什么它们会存在呢?

非常好的问题,我也想知道答案。