问题描述
Azure Static Web App 具有 auth 的概念,可用于将个人用户或个人身份提供者列入白名单(如 this question)。
是否可以通过用于设置资源的特定租户/组织目录来要求身份验证,仅通过 Azure 配置,就像目前普通的 Azure Web 应用服务一样;也就是说,需要通过 AAD 进行身份验证,如上面链接的问题,但还限制对相关租户成员的访问?如果是这样,相应的 routes.json
会是什么样子?
解决方法
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 应用的访问,请将路由添加到配置文件中
{
"route": "/login","serve": "/.auth/login/aad"
}
静态 Web 应用程序中包含一个 Azure 函数 API,该服务会将其自己的身份验证令牌插入到标头中。如果您依赖 Authorization Bearer 标头将您的令牌从应用传递到 api,它可能会被覆盖。
Authorisation using MSAL for a function in Azure Static Web App
,看起来现在可以使用 custom authentication:
特别是对于 Azure Active Directory (AAD) 注册,您可以选择提供租户,这样您就可以绕过组管理的邀请流程。