OAuth 2.0 中如何保证过期信息?
我正在使用 Keycloaks OAuth2.0 功能来验证我的演示应用程序,我想了解一些有关 Keycloak 生成的 JWT 有效性的信息。
前提: 假设我已经设置了 OAuth 2.0 授权服务器。 两个服务器共享相同的数据库,因此它们可以验证另一个 Act 服务器生成的 JWT(两者共享相同的信息,因此它们都具有相同的密钥)以及它们自己生成的 JWT。
机器 1 ACT 服务器 A:可以验证服务器 A 和服务器 B 生成的 JWT
机器 2 ACT 服务器 B:可以验证服务器 B 和服务器 A 生成的 JWT
机器3数据库:被服务器A和服务器B引用
问题: 如果服务器A和服务器B的系统时间不同步,OAuth2.0如何保证token的有效性?下面的示例
说,令牌到期时间为 1 小时,并且以下过程同时完成。
机器 1 ACT 服务器 A(系统时间:13:00) - 生成 TOKEN_A,到期时间为 14:00
机器 2 ACT 服务器 B(系统时间:14:10)- 验证 TOKEN_A
结果 : ??????
服务器 B 是否将 TOKEN_A 视为过期令牌,而服务器 A 则将其视为活动令牌?
PS 如果可能的话,我想要一个官方引用(手册或其他东西)的答案。
I'm using Keycloaks OAuth2.0 feature to authenticate my demo application and I wanna know a few things regarding the validity of JWT generated by Keycloak.
Premise:
Say I have ant act-act set up of an OAuth 2.0 Authorization server.
Both servers share the same database, therefore they can validate JWTs generated by the other act server (both share the same info, thus they both have the same secret key), along with JWTs generated by themselves.
Machine 1 ACT Server A : Can validate JWTs generated by Server A and Server B
Machine 2 ACT Server B : Can validate JWTs generated by Server B and Server A
Machine 3 Database : Referenced by Server A and Server B
Question:
If system time aren't synchronized between Server A and Server B, how does OAuth2.0 guarantee the validity of a token? Example below
Say , Token expiry is 1 hour and the process below are simultaneously done.
Machine 1 ACT Server A (system time : 13:00) - generates TOKEN_A with an expiry of 14:00
Machine 2 ACT Server B (system time : 14:10) - validates TOKEN_A
RESULT : ??????
Does Server B consider TOKEN_A as an expired token, while Server A considers it a live token?
P.S If possible, I would like an official citation (manual or something) to the answer.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论