【发布时间】:2015-02-28 15:47:49
【问题描述】:
我正在我的 API 中实现 OAuth 2.0。我们使用 JWT 进行身份验证,并使用刷新令牌进行仅限客户端的重新授权。我是否应该要求客户在POST /token 的正文中也提供userId,以便他们需要一起了解用户和刷新令牌(所以你不能只尝试一堆随机字符串然后看看作品)?标准是什么?
【问题讨论】:
我正在我的 API 中实现 OAuth 2.0。我们使用 JWT 进行身份验证,并使用刷新令牌进行仅限客户端的重新授权。我是否应该要求客户在POST /token 的正文中也提供userId,以便他们需要一起了解用户和刷新令牌(所以你不能只尝试一堆随机字符串然后看看作品)?标准是什么?
【问题讨论】:
如果规范实施正确,则应该无法猜测刷新令牌; https://www.rfc-editor.org/rfc/rfc6749#section-10.4 说:
授权服务器必须确保刷新令牌不能被 通过生成、修改或猜测生成有效的刷新令牌 未经授权的各方。
您必须确保生成具有足够熵的刷新令牌,以便刷新令牌的随机性不会因为添加用户 ID 而变得不同。或者换一种说法:猜测您的刷新令牌与猜测用户 ID + 刷新令牌一样难。除此之外,在 POST 中添加用户 ID 实际上比在刷新令牌中添加具有用户 ID 长度的随机字符串更可预测。
【讨论】: