Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/emacs/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为多租户服务创建Heroku插件时,如何为单个租户提供多个Heroku应用程序?_Heroku_Multi Tenant_Add On - Fatal编程技术网

为多租户服务创建Heroku插件时,如何为单个租户提供多个Heroku应用程序?

为多租户服务创建Heroku插件时,如何为单个租户提供多个Heroku应用程序?,heroku,multi-tenant,add-on,Heroku,Multi Tenant,Add On,是一种多租户云身份管理服务,我们希望将其作为Heroku插件提供给Heroku用户 与Heroku一样,Stormpath能够为每个客户表示一个或多个应用程序(其中“客户”是“租户”的同义词) 例如,正如Heroku客户可以将一个或多个应用程序部署到Heroku(测试、登台、生产等),Stormpath客户(租户)可以注册他们希望Stormpath保护的一个或多个应用程序 从这个意义上讲,Stormpath的模型和Heroku的模型对于这种1对多(客户对应用程序)关系似乎是相同的 我的问题是:

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

与Heroku一样,Stormpath能够为每个客户表示一个或多个应用程序(其中“客户”是“租户”的同义词)

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

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

我的问题是:

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

在此期间,是否有一种方法可以让插件实现获得Heroku客户的唯一租户标识符,该标识符在所有Heroku应用程序中都是通用的?例如,唯一的Heroku租户id或Heroku租户所有者电子邮件地址

实现逻辑的工作原理如下:

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

当Heroku向您发送供应请求时,您将得到一个JSON blob:


您可以使用该
heroku\u id
通过heroku的来查找用户标识符。

当heroku向您发送供应请求时,您将得到一个JSON blob:


您可以使用该
heroku\u id
通过heroku的来查找用户标识符。

heroku\u id
不是heroku用户标识符。它是在Heroku中设置的单个应用程序的标识符。Heroku客户(“租户”)可以有许多应用程序。@你说得很对。修改以显示如何获取用户标识符。非常感谢您的跟进-不幸的是,Heroku文档表明应用程序所有者的电子邮件地址可能会更改,此时它不再是不可变的标识符。因此,我不能用它将每个应用程序与已知租户关联(如果用户更改其电子邮件地址,则该电子邮件下的所有新应用程序都必须在新租户中创建-根本不可取)。我希望Heroku能提供一个合适的、独特的、不可变的API。很奇怪他们没有…
heroku\u id
不是heroku用户标识符。它是在Heroku中设置的单个应用程序的标识符。Heroku客户(“租户”)可以有许多应用程序。@你说得很对。修改以显示如何获取用户标识符。非常感谢您的跟进-不幸的是,Heroku文档表明应用程序所有者的电子邮件地址可能会更改,此时它不再是不可变的标识符。因此,我不能用它将每个应用程序与已知租户关联(如果用户更改其电子邮件地址,则该电子邮件下的所有新应用程序都必须在新租户中创建-根本不可取)。我希望Heroku能提供一个合适的、独特的、不可变的API。很奇怪他们没有。。。
{
  "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": {}
}