【问题标题】:Should OAuth 2.0 refresh tokens ask for a userIdOAuth 2.0 刷新令牌是否应要求提供 userId
【发布时间】:2015-02-28 15:47:49
【问题描述】:

我正在我的 API 中实现 OAuth 2.0。我们使用 JWT 进行身份验证,并使用刷新令牌进行仅限客户端的重新授权。我是否应该要求客户在POST /token 的正文中也提供userId,以便他们需要一起了解用户和刷新令牌(所以你不能只尝试一堆随机字符串然后看看作品)?标准是什么?

【问题讨论】:

    标签: oauth oauth-2.0 jwt


    【解决方案1】:

    如果规范实施正确,则应该无法猜测刷新令牌; https://www.rfc-editor.org/rfc/rfc6749#section-10.4 说:

    授权服务器必须确保刷新令牌不能被 通过生成、修改或猜测生成有效的刷新令牌 未经授权的各方。

    您必须确保生成具有足够熵的刷新令牌,以便刷新令牌的随机性不会因为添加用户 ID 而变得不同。或者换一种说法:猜测您的刷新令牌与猜测用户 ID + 刷新令牌一样难。除此之外,在 POST 中添加用户 ID 实际上比在刷新令牌中添加具有用户 ID 长度的随机字符串更可预测。

    【讨论】:

    • 好点。我正在考虑有人以某种方式获得访问令牌但不知道它属于谁的两种情况 - 一种双因素身份验证的形式,但我实际上无法想象如果你会发生这种情况正在使用 SSL,如果您不使用 SSL,他们还会看到 userId :P
    • 是的,如果将两者一起发送,实际上很难看到一个,而另一个则看不到;同样的东西很可能会保存
    猜你喜欢
    • 2015-07-08
    • 2014-07-09
    • 2018-09-09
    • 2013-02-17
    • 1970-01-01
    • 2015-11-04
    • 2014-09-22
    • 2015-05-17
    • 1970-01-01
    相关资源
    最近更新 更多