代码之家  ›  专栏  ›  技术社区  ›  Arthur Rizzo

如何使用Azure AD身份验证限制多租户应用程序中的租户

  •  9
  • Arthur Rizzo  · 技术社区  · 7 年前

    我目前正在开发一个多租户角度SPA应用程序,该应用程序在后端连接到多个webAPI,并使用AzureAD身份验证,其中每个AD代表一个租户。

    Azure多租户文档指向了一个名为 Tailpsin.Surveys 在完成页面上的步骤后,我能够运行它。该应用程序与我的场景不同,因为它是一个WebApp,而不是SPA。

    OpenIdConnectEvents 该实现覆盖了 TokenValidated 方法并阻止了之前未注册的租户。

    这就是我试图在应用程序中实现的,但这是否意味着每个WebAPI都应该始终检查令牌上的颁发者声明,以验证租户?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Shawn Tabrizi    7 年前

    据我所知,Azure Active Directory中没有这样的设置。“租赁”的选择是多租户或单租户。多租户意味着技术上所有租户都可以为您的服务获得访问令牌。

    对于您的特定场景,我相信您希望您的服务保留一个白名单,其中包含允许调用您的API的租户,并检查令牌是否具有正确的 issuer tid aud 声明是正确的,并且令牌由Azure AD签名,并检查 scope role 令牌中的权限声明,因此检查额外声明不应真正增加大量开销。