2016-09-13 199 views
1

望着的oauth2规范,它说在section 6客户端绑定访问令牌

... the refresh token is bound to the client to which it was issued. 

但是,我找不到在什么规格的明确规定,标记应绑定到请求的客户端也。我认为这是事实,Introspection Extension似乎支持这一假设,但我想知道这是否正确。

举个例子,假设我使用两个使用Google作为Oauth2授权服务器的应用程序。我假设Google会发布两个不同的令牌,每个应用都有一个令牌,并且令牌只能由发给它们的客户端使用,因为它们绑定到该客户端。

回答

0

是的,我认为规范中暗示访问令牌只应由用户授权的应用程序使用。换句话说 - 除了授权应用程序之外,使用令牌来访问用户数据几乎就是隐私失败的定义,并且是什么授权协议明确地被设计用于首先防止。

现在,在实践中,我认为有一个应用程序使用来自另一个应用程序的访问令牌可以在许多OAuth 2.0实现中正常工作。我不知道Token Introspection扩展被广泛使用,并且大多数访问令牌都被设计为自我验证。事实上,这就是令牌盗取是安全风险的原因。相比之下,刷新标记只有在与客户端密码相结合时才有用,因此它在技术上和哲学上与客户“绑定”。

1

访问令牌可以有各种实现。今天最广泛采用的是RFC 6750 https://tools.ietf.org/html/rfc6750中的“承载”令牌。无记名令牌不是故意绑定到客户端的:它使实施变得容易,降低了采用的门槛,并满足了广泛的用例。

假设持票人令牌不容易被盗,可以接受避免将其绑定到特定的客户端:预期的客户端确实可以与另一个客户端共享访问令牌,但它可以共享访问数据如果令牌被限制为,令牌允许访问。

在需要更高安全性的环境中,可以使用RFC 7800 https://tools.ietf.org/html/rfc7800中定义的绑定到客户端的令牌。

相关问题