具有角色和权限的 SSO

时间:2021-05-04 10:24:02

标签: django architecture single-sign-on

我们有与普通用户(一般应用)和公司用户(公司应用)互动的项目。因此,在我们的项目中,一般来说,我们有两种类型的User

  1. 常规 - 使用 phone_number 作为 identifier 进行身份验证。普通用户是指可以在我们的系统中担任普通员工的任何User
  2. Staff - 使用 email 作为 identifier 进行身份验证。员工User属于某家公司,他们有一些角色。

因此,我们构建了 SSO 应用程序,以保留所有用户,因为有些应用程序需要任何用户,而在一个地方处理用户的单独应用程序是我们更好的选择。

然而,我们的想法有问题......

公司应用有其超级用户,可以创建该公司的一些公司、公司分支机构和董事等。我们在 SSO 应用中创建 company-apps 超级用户并赋予它 < strong>COMPANY APP SUPERUSER 角色。

SSO 应用程序不为用户持有公司的特定角色,我们不想要它。这是公司应用程序的责任。因此,当公司董事想要邀请(创建)员工时,就会出现问题,他/她请求公司应用程序,该应用程序在框中调用 SSO 应用程序端点来创建用户。在 SSO 应用中,我们不知道谁在请求创建用户,因为我们只知道 COMPANY-APP-SUPERUSER。其他角色隐藏在 company-app 中。

问题:

  1. 我们如何区分公司应用的特定角色和用户?
  2. 我们是否应该将公司应用的角色和权限存储在 SSO 中?

附言基于 DjangoPython 3.9SSOJWT 编写的后端。

0 个答案:

没有答案