【发布时间】:2015-06-26 15:07:46
【问题描述】:
我对 Oauth 2.0 的经验很少,我正在努力更好地了解系统的工作原理。访问令牌是否与用户/设备/会话绑定?例如,我可以迁移为一个应用程序授予的访问令牌并在另一个应用程序中使用它吗?服务器/API 如何知道?我相信大多数 API 都有使用 app_ID 的应用请求,是否有任何其他数据进入令牌请求?
谢谢!
【问题讨论】:
标签: oauth-2.0
我对 Oauth 2.0 的经验很少,我正在努力更好地了解系统的工作原理。访问令牌是否与用户/设备/会话绑定?例如,我可以迁移为一个应用程序授予的访问令牌并在另一个应用程序中使用它吗?服务器/API 如何知道?我相信大多数 API 都有使用 app_ID 的应用请求,是否有任何其他数据进入令牌请求?
谢谢!
【问题讨论】:
标签: oauth-2.0
OAuth 2.0 协议框架旨在允许不同类型的访问令牌,但迄今为止唯一标准化的访问令牌是所谓的“不记名”令牌,所以我假设您的问题与此有关。
承载令牌对客户端是不透明的,这意味着它只是客户端传递给资源服务器以访问受保护资源的“标识符”或“字符串”。这也意味着它没有专门绑定到设备/会话或客户端。事实上,任何持有 Bearer 令牌的人实际上都可以使用它来访问受保护的资源。这是 Bearer 令牌的已知缺点之一,但它使实现它们变得非常容易。它依赖于安全的 HTTPs 通道来保证机密性。
上一段描述了如何使用不记名令牌。客户端必须经过获得这样一个令牌的过程,实际上可能包括向授权服务器提供一个客户端标识符和一个客户端秘密。但是资源服务器(又名服务器或 API)不知道也不关心客户端是如何获得 Bearer 令牌的。
OAuth 2.0 的令牌扩展正在开发中,需要客户端证明它是令牌的合法所有者。此类令牌称为“所有权证明”令牌,并且可能在具有更高安全要求的环境中有用。见:http://www.thread-safe.com/2015/01/proof-of-possession-putting-pieces.html
【讨论】: