OAuth2“客户端凭据”授予:远程IP检查?

时间:2015-05-27 22:08:33

标签: oauth oauth-2.0

我正在开发一个只需要服务器访问的API,而不是特定的人类用户。我一直在使用客户端凭据授予,如果我没有弄错的话,它适用于这个用例。

因此,远程网站/应用程序在注册相应的OAuth2客户端后,只是通过SSL POST请求+ HTTP基本身份验证,使用客户端ID /机密组合请求访问令牌。

现在我想知道在所述访问令牌请求期间检查远程IP以确保它实际属于已注册的客户端(您必须声明一个或在声明您的应用程序时会有几个IP,然后会根据发出POST /令牌请求的服务器的远程IP进行检查。

我觉得这是一种简单的方法,可以确保即使客户ID /秘密以某种方式被盗,它们也无法在任何地方使用。

作为OAuth2协议的新手,我需要一些输入来判断这是否是一种有效的方法。有没有更聪明的方法来做到这一点,还是直接不必要(在这种情况下,出于什么原因)?

提前致谢

1 个答案:

答案 0 :(得分:2)

这当然是一种有效的方法,但是将令牌紧密地绑定到网络层和部署,这可能使得难以改变网络架构。 OAuth解决您的问题的方式是所谓的占有证明扩展https://tools.ietf.org/html/draft-ietf-oauth-pop-architecture

可能值得考虑实现:即使它还不是最终的规范,它会将令牌绑定到客户端而不是IP地址,以防止网络更改,并且更具未来性。