我目前正在使用 Ruby、Ruby on Rails、Sinatra 和纯 Rack 网络服务开发分布式应用程序。
我将有很少的服务(RESTful,不是基于 SOAP 的)将使用 JSON 进行通信,我需要一种方法来保护和验证每个服务在它们之间的通信期间的身份,所以没有人可以假装是服务并向其他服务发出请求。
核心思想是将其他服务视为“用户”,并能够验证他们的身份并在必要时限制他们对数据的访问。
所以问题是如何只使用 Ruby 来做到这一点,以及如何有效地管理服务身份及其访问权限。
我是否应该构建一些可供服务使用的额外身份验证服务?
我应该构建内部 gem 来提供一些带有 key /共享 secret 的连接中间件吗?
是否有其他方法可以做到这一点?
最佳答案
我会生成一个应用程序 ID 和 secret ,您可以将其与每个请求一起传递。由于您不与其他用户打交道,而只是应用程序尝试使用设计来查看身份验证 token 。
关于ruby-on-rails - 服务到服务认证、服务身份和访问权限管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6164599/