0

我们有一个 azure 静态 Web 应用程序,由 azure Active Directory(公司租户)提供身份验证

这适用于生产,但是当我们打开 PR 并生成一个暂存 url 时,它会附加一个标识符,例如https://salmon-mountain-xxxxxxx-20.azurestaticapps.net

显然,这没有在应用注册中设置为回复/重定向 url,因此身份验证失败。

该网站目前在公共互联网上,但只有组织 AD 帐户可以登录。我唯一的选择是在清单中添加通配符吗?我知道通常不建议使用通配符,并且此功能将来可能会消失

4

1 回答 1

0

• 您可以选择将用户添加到角色,通过添加要分配的角色名称的逗号分隔列表,生成邀请以通过 azure 门户将特定用户关联到特定角色。这些可以在 staticwebapp.config.json.file 中定义,并且该文件可以位于应用程序构建的工作流文件中的“app_location”中。

• 一旦邀请了要访问应用程序的外部用户,您现在必须检查路由规则以了解身份验证过程中的任何更改。通过将一个或多个角色名称添加到规则的 allowedRoles 数组来保护路由。默认情况下,每个用户都属于内置匿名角色,所有登录用户都是认证角色的成员。或者,用户通过邀请与自定义角色相关联。例如,要将路由限制为仅经过身份验证的用户,请将内置的身份验证角色添加到 allowedRoles 数组,如下所示: -

{
   "route": "/profile",
    "allowedRoles": ["authenticated"]
 }

• 此外,检查为您的静态 Web 应用程序配置的响应覆盖。它们应如下所示: -

  {
   "responseOverrides": {
    "400": {
       "rewrite": "/invalid-invitation-error.html"
    },
     "401": {
       "statusCode": 302,
       "redirect": "/login"
     },
      "403": {
        "rewrite": "/custom-forbidden-page.html"
       },
       "404": {
        "rewrite": "/custom-404.html"
       }
      }
     }

• 此外,检查网络部分以控制静态 Web 应用程序的网络配置。它包含允许访问您的应用程序的所有 IP 地址的详细信息。

请查看以下链接以获取有关配置静态 Web 应用程序的应用程序文件的更多信息,以获取有关在应用程序清单文件中配置通配符详细信息以外的选项:-

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

https://docs.microsoft.com/en-us/azure/static-web-apps/authentication-authorization

于 2021-09-28T12:11:02.653 回答