【问题标题】:Examples of OAuth with multiple authorization tokens?具有多个授权令牌的 OAuth 示例?
【发布时间】:2010-02-09 18:51:34
【问题描述】:
是否存在在一次交互中使用多个授权令牌的 OAuth 实现或配置文件示例?这可以通过普通 OAuth(而不是扩展)来完成吗?关于在一个请求中使用多个令牌的原因是否有任何讨论?
OAuth WRAP 使用两个令牌,但只有一个是授权令牌;另一个是请求令牌,用于获取新的授权令牌。这背后的原因是什么?这是否将会话烘焙到单个授权令牌中只是为了使令牌传递更直接?是否有人建议以这种方式跨多个交互构建 OAuth 授权令牌?
【问题讨论】:
标签:
authentication
authorization
oauth
【解决方案1】:
标准 OAuth 中的“受保护资源请求”(即检索某些需要您使用 OAuth 进行身份验证的资源的请求)仅携带一个 OAuth 令牌。消费者密钥也被发送。与这些令牌中的每一个对应的秘密一起用于生成签名。
WRAP 也有访问令牌的概念,但它引入了刷新令牌的概念,刷新令牌不包含在受保护的资源请求中,而是在客户端向服务提供商的直接请求中发送当客户端的访问令牌已过期,需要重新获取时。
与 OAuth 令牌不同,WRAP 令牌没有关联的秘密,而是更像是临时会话标识符。由于此令牌可能在浏览器 cookie 或其他浏览器状态中公开,因此 WRAP 允许该令牌是短暂的,允许在用户注销或一段时间不活动后将其丢弃。刷新令牌只有客户端和服务提供商知道,因此寿命更长。
在 OAuth 中不需要刷新令牌,因为令牌密钥作为只有客户端和服务提供者知道的密钥。
两种协议都有两个值供客户端跟踪,其中一个比另一个更私密,但 WRAP 以不同的方式使用更私密的令牌,因此实施者不需要生成和验证签名。