2012-07-09 68 views
4

我正在研究我们的客户公司将用于访问公司特定数据的API。我们已经准备好了API,现在正在研究如何保护通信。明显的选择是OAuth(2?),但在我们的案例中,访问API不是用户特定的,而是特定于公司的。基于组权限的OAuth的OAuth

例如,我们将有一个将连接到API的移动应用程序,并且选择安装应用程序的给定公司中的每个人都应该可以访问API,而无需任何其他身份验证/ OAuth舞蹈。

高层次,思想是使用共享密钥对特定客户端应用进行硬编码,以便他们只能访问正确的数据 - 这不会是OAuth,而是一些自定义解决方案......但在某些时候,它可能是可能的,我们也将通过个人权限进行个人权限,因为OAuth更合适,所以基于标准和未来友好的东西就是期望的解决方案。

任何指针?只是试图以最好的角度填补空白,以继续前进。阅读时,看起来像这样的服务器到服务器模型,其中Apigee recommends against使用OAuth。

回答

3

是的,这绝对是而不是 OAuth旨在解决什么问题。 Apigee对双向SSL的建议是服务器到服务器认证/授权的正确方法。您向每台服务器颁发一个x509证书,并且当他们彼此发起SSL连接时,他们验证对方的证书来自可信来源。此功能内置于大多数服务器开发平台中,并不是很难设置。

+0

OAuth用于授权公司A(oauth客户端)访问用户以前提供给公司B(oauth提供商)的数据。 – 2012-07-09 04:07:49

+0

同意。您可以推动它使oAuth能够解决这个问题,但仅使用证书确实更容易。 – 2012-07-09 16:07:37

+0

@RobertLevy所以简而言之,我们为每个客户颁发证书,证书被安装在移动应用程序,Web浏览器等中,我们使用它来配置他们可以看到的数据?看起来您的答案主要集中在服务器到服务器模型上,我只是将其引用为类似的方法,但不是主要问题。干杯。 – 2012-07-09 17:29:44