在Rails中跨域的单点登录的多站点应用程序?

rog*_*111 6 architecture web-services ruby-on-rails oauth

我必须开发跨域的单点登录的多站点应用程序(类似谷歌帐户,有多个谷歌服务,如Gmail,文档,谷歌+):

多应用程序,多域,单点登录

  • 要使用儿童网站,用户必须在父网站上注册.
  • 除用户登录,点和发票外,每个站点都有自己的逻辑.
  • 从子应用程序我必须能够登录到全局用户帐户,花费用户点并为某些服务生成发票.
  • 注册表单,发票列表和管理点的面板仅可从父站点/应用程序获得.

在Rails 3.1上实现这个的最佳策略是什么?可伸缩性,性能和安全性非常重要.

  • 单轨还是多轨应用?
  • 单个还是多个数据库?
  • 主要应用程序中的全局服务还是单独的应用程序/引擎?
  • 如何实现单点登录?DB中的单个会话ID或者facebook oauth?
  • 如何根据子站点的请求实施支出点并生成发票?