使用IdentityServer4管理基于索赔的多租户是否存在安全风险?

使用IdentityServer4管理基于索赔的多租户是否存在安全风险?,identityserver4,Identityserver4,一段时间以来,我一直在忙于构建身份服务器,在尝试实现多租户时,出现了一些复杂的结构 我想知道我计划采取的方法是否存在任何安全风险。也许其他人也在挣扎,可以使用一个示例结构。本案如下: 一个标识服务器 具有独立域的多个租户 每个租户(学生和教师)可能有多个用户帐户 以不同的用户名/电子邮件地址向多个租户注册 所有租户同时需要SSO 我心目中的结构: 用户已登录到Identityserver。de id server可以为其提供身份验证的可用客户端(应用程序/租户)以集线器的形式呈现。选择一个(

一段时间以来,我一直在忙于构建身份服务器,在尝试实现多租户时,出现了一些复杂的结构

我想知道我计划采取的方法是否存在任何安全风险。也许其他人也在挣扎,可以使用一个示例结构。本案如下:

  • 一个标识服务器
  • 具有独立域的多个租户
  • 每个租户(学生和教师)可能有多个用户帐户
  • 以不同的用户名/电子邮件地址向多个租户注册
  • 所有租户同时需要SSO
我心目中的结构: 用户已登录到Identityserver。de id server可以为其提供身份验证的可用客户端(应用程序/租户)以集线器的形式呈现。选择一个(例如Company3),并且可以选择链接此特定租户的帐户

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

当登录到identityserver时,令牌将保存租户和已验证帐户的数据。返回此令牌,当前客户端使用发现端点的密钥验证该令牌

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

{
"company3":[ "student@company3.com", "teacher@company3.com"]
"company1":[ "student@company1.com", "teacher@company1.com"]
}
公司3将安全确认当前用户有权访问2个帐户。公司1将拥有相同的令牌信息,这使得不同租户之间的SSO成为可能

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


干杯

可能是一个与相关的问题,而不是这样。不,需要here@Revlyn这似乎是一个相当复杂的话题,也是一个非常不具体的问题,如果不深入研究您的体系结构,就无法回答这个问题。我不认为你能在这里或在你链接到这里的github上得到答案。对我来说,听起来你正走在解决问题的好方法上。也许可以列出更多的细节和一些图纸,以提高您对设置的理解,然后问一个真正具体的问题,可以回答是/否。我在同一条船上!您是否成功地使用了上述方法?如果您根据租户(我假设是客户机)分离用户,那么如何实现SSO,除非您继续为每个客户机添加用户。但这听起来是一个最简单的选择。但是,这需要一个自定义的大部分IDRSV端点来考虑一个“检查用户是否属于这个客户端?”还有不同的cookie(位复杂的IDRSV实例多个登录使用多个租户在同一浏览器上)