将对 Azure 静态 Web 应用的访问限制为单个租户

Limiting access to Azure Static Web App to single tenant

一个Azure Static Web App has a notion of auth that can be used to whitelist individual users, or individual identity providers (as in this question).

是否可以通过用于设置资源的特定 tenant/organizational 目录来要求身份验证,仅通过 Azure 配置,就像目前普通的 Azure Web 应用服务一样;也就是说,像上面链接的问题一样需要通过 AAD 进行身份验证,但进一步限制对相关租户成员的访问?如果是这样,相应的 routes.json 会是什么样子?

另见 this GitHub issue

routes.json 文件中定义的功能现已弃用,并在 Azure 静态 Web 应用程序配置文件中更好地实现。

https://docs.microsoft.com/en-us/azure/static-web-apps/routes#example-route-file

Azure 静态 Web 应用配置文件示例。

https://docs.microsoft.com/en-us/azure/static-web-apps/configuration#example-configuration-file

要在单个租户内限制对 Azure 静态 Web 应用程序的访问,请将路由添加到 configuration-file

  {
      "route": "/login",
      "serve": "/.auth/login/aad"
    }
   

您的静态 Web 应用程序中包含一个 Azure 函数 API,该服务将自己的身份验证令牌插入 header。如果您依赖授权持有者 header 将您的令牌从应用程序传递到 api,它可能会被覆盖。

Authorisation using MSAL for a function in Azure Static Web App

看起来现在可以使用 custom authentication:

Specifically for Azure Active Directory (AAD) registrations, you have the option of providing a tenant, which allows you to bypass the invitation flow for group management.