服务到服务身份验证,服务标识和访问权限管理

时间:2011-05-28 21:59:42

标签: ruby-on-rails ruby web-services rest soa

我目前正在使用Ruby,Ruby on Rails,Sinatra和纯Rack Web服务开发分布式应用程序。

我将使用JSON进行通信的服务很少(RESTful,而不是基于SOAP),我需要一种在它们之间的通信期间保护和验证每个服务的身份的方法,所以没有人可以假装是服务并向其他服务提出请求。

核心思想是将其他服务视为“用户”,并在必要时验证其身份并限制对数据的访问。

所以问题是如何仅使用Ruby以及如何有效管理服务标识及其访问权限。

我是否应该构建一些可供服务使用的其他身份验证服务?

我应该构建内部宝石以提供一些带有密钥/共享机密的连接中间件吗?

有没有其他方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

我会生成一个应用程序ID和秘密,您可以随每个请求传递。由于您没有与其他用户打交道,只是应用程序尝试使用设计来查看身份验证令牌。

答案 1 :(得分:0)

我认为OAuth是一种通常用于Web服务到Web服务运行时身份验证的协议,尤其适用于RESTful API。