我正在努力实现OAuth 2.0服务器,并且在阅读RFC6749规范时,我意识到有关“刷新访问令牌”的section 6 on Page 47。解释我们需要使用刷新令牌来获得新的令牌。我应该使用OAuth 2.0中的刷新令牌发送秘密
但是,例如,除了刷新令牌之外,Google还需要用户ID和密码才能这样做。
这使我很困惑,因为一方面我们有Google每天处理大量请求的情况,而且我们有一个可能写入规范的规范,可能在考虑范围较小的情况下。
每个小时都用Refresh Token发送秘密是否好?
就我个人而言,我认为不可以:因为User ID和Secret只能用于整个OAuth 2.0流程。
基本上
- 您使用对每个请求令牌来证明你是你是谁。
- 刷新令牌每小时只能使用一次(并且在每次刷新时可能会更改)
- 秘密和用户ID尽可能少地上网。只有当选项1和2受到损害时。
我个人认为发送带有刷新令牌的秘密不太安全。但也许我错过了一些东西。
如果你有另一种观点,请分享:)
谢谢你的解释是有道理的。我想在讨论中稍微深入一点。例如:当我提出这个问题时,我假设没有SSL,并不是因为我不想使用它,而是因为现在要做一个中间人攻击和制动一个SSL更容易,因此即使我使用SSL,我也认为我的连接是以明文方式发送的。因此想尽可能少地发送秘密。你认为这是一个有效的担忧吗? –
我同意你不应该将TLS看作一个银色的子弹,但假设它与未加密的HTTP一样的前提也是错误的。通过这种逻辑,您将很难使用OAuth 2.0,因为TLS的使用是必须具备的要求。 –
合理。感谢您的时间 。 –