为多租户服务创建Heroku加载项时,如何为单个租户提供多个Heroku应用程序



Stormpath是一个多租户云身份管理服务,我们希望将其作为Heroku插件提供给Heroku用户。

与Heroku一样,Stormpath能够为每个客户表示一个或多个应用程序(其中"customer"与"tenant"同义)。

例如,正如Heroku客户可以将一个或多个应用程序部署到Heroku(测试、暂存、生产等)一样,Stormpath客户(租户)也可以注册他们希望Stormpath保护的一个或更多应用程序。

从这个意义上讲,对于这种1对多(客户到应用程序)关系,Stormpath的模型和Heroku的模型似乎是相同的。

这是我的问题:

当Heroku客户将Stormpath插件添加到多个应用程序时,我们如何确保这些应用程序与同一Stormpath租户关联?

在插件供应过程中,插件实现是否可以获得Heroku客户的唯一租户标识符,该标识符在其所有Heroku应用程序中都是通用的?例如,唯一的Heroku租户id或Heroku承租人所有者电子邮件地址?

实现逻辑如下:

  • 正在提供的Heroku应用程序的所有者是否有Stormpath租户?
    • 否:创建Stormpath租户,然后将应用程序与新租户关联
    • 是:将应用程序与所有者的现有Stormpath租户关联

当Heroku向您发送供应请求时,您将得到一个类似于以下的JSON blob:

{
  "heroku_id": "app123@heroku.com",
  "plan": "basic",
  "region": "amazon-web-services::us-east-1",
  "callback_url": "https://api.heroku.com/vendor/apps/app123%40heroku.com",
  "options": {}
}

您可以使用heroku_id通过Heroku的AppInfo API找到用户标识符。

相关内容

  • 没有找到相关文章

最新更新