【发布时间】:2023-03-11 04:22:02
【问题描述】:
我正在构建一个多租户 Service Fabric 应用程序,它允许租户指定登录类型 - Identity(asp.net)/Azure AD。
我有一个身份验证服务,它检查用户链接到哪个租户,然后继续检查用户的用户名:密码是否有效,如果有效,它会向网关 API/Web API 返回一个 JWT 令牌,然后允许访问集群上的其余服务。
这由角色进一步保护以限制操作和数据访问等。
问题 1 如果租户使用 azure AD,那么保存该租户提供的应用程序 ID 和密码的安全方法是什么? 在我的数据库中并加密信息,它必须被解密才能连接到 AD(试图保持动态)。
问题 2 我正在实现自己的滑动刷新令牌以在过期后获取新的 JWT,是否有更好/标准的方法?
问题 3 是否有更好/标准的方法来处理这个多租户登录过程。
问题 4 有没有办法在 JWT 主题上设置可选声明,允许访问共享服务,但如果声明值不正确,则阻止访问租户特定服务?
编辑 理想情况下,角色不应成为租户 AD/B2C 的一部分,因为它们的角色是动态的,并且在应用程序内进行管理。
【问题讨论】:
标签: .net-core jwt azure-active-directory azure-service-fabric asp.net-core-identity