使用IdentityServer4管理多租户是否存在安全风险?

时间:2017-11-17 11:22:47

标签: identityserver4

一段时间以来,我一直在忙着建立一个身份服务器,当我试图实现多租户时,出现了一些复杂的结构。

我想知道我计划采取的方法是否存在任何安全风险。也许其他人也在努力,可以使用示例结构。存在以下情况:

  • 一个身份服务器
  • 具有单独域名的多个租户
  • 每个租户(学生和教师)可以使用多个用户帐户
  • 在不同的用户名/电子邮件地址下注册了多个租户
  • 所有租户一次性需要SSO

我想到的结构: 用户登录Identityserver。 de id-server可以提供身份验证的可用客户端(应用程序/租户)像集线器一样呈现。选择一个(例如,Company3),并且可以选择链接此特定租户的帐户。

用户提供电子邮件(Student@company3.com),并向用户发送验证。身份服务器数据库保存有关用户与注册客户端之间一对多关系的数据,以及这些注册与经过验证的电子邮件地址之间的一对多关系。

登录身份服务器时,令牌将保留租户和已验证帐户的数据。返回此令牌,当前客户端使用discovery-endpoint中的密钥验证令牌。

自定义声明的一个示例是:

{
"company3":[ "student@company3.com", "teacher@company3.com"]
"company1":[ "student@company1.com", "teacher@company1.com"]
}

Company3可以安全确认当前用户可以访问2个帐户。 Company1在令牌上具有相同的信息,这使得不同租户之间的SSO成为可能。

我认为,不会有任何安全风险。但是,我对身份服务器和身份验证还不是很熟悉。我希望得到一些关于可能的安全风险的反馈。

干杯

0 个答案:

没有答案