【发布时间】:2018-03-29 00:04:51
【问题描述】:
我有一个需要与 Google API 端点集成的多租户应用程序,比如说日历 API。
应用程序的组织方式很像 Slack。您可以创建命名空间并邀请用户加入其中。子域用于分隔命名空间,因此可能有:foo.domain.com、bar.domain.com 和 baz.domain.com。
一个用户可以属于多个命名空间,就像在 slack 中您可以属于不同的团队一样。所以John 可以是foo 和bar 的成员。
问题是,当John 决定让foo 访问他的日历信息时,Google 会将授权链接到domain.com 而不是foo.domain.com。当我也尝试让bar 访问他的日历时,没有刷新令牌,因为技术上John 已经授权访问......但我希望这些被独立对待。这样John 就能够撤销对foo.domain.com 的访问权限,但继续让bar.domain.com 访问他的日历数据。
有没有办法为同一个用户创建对同一个应用程序的独立授权?我无法跨子域共享refresh_token,因为它们可能在物理上是分开的,并且我无法为每个子域创建不同的应用程序,因为它们是动态生成的。
【问题讨论】:
标签: oauth google-oauth