Abh*_*oor 5 azure azure-static-web-app
我在 Azure 中创建了一个静态 Web 应用程序。这只是一个只有 HTML 页面的普通网站。我能够部署和访问该应用程序。
问题是当我尝试将 Azure Active Directory 与此服务集成时。我的 staticwebapp.config.json 如下。
{
"routes":[
{
"route": "/login",
"rewrite": "/.auth/login/aad"
},
{
"route": "/*",
"allowedRoles": ["authenticated"]
}
],
"auth": {
"identityProviders": {
"azureActiveDirectory": {
"registration": {
"openIdIssuer": "https://login.microsoftonline.com/<tenant id removed>",
"clientIdSettingName": "<client id value>",
"clientSecretSettingName": "<client secret value>"
}
}
}
},
"responseOverrides": {
"401": {
"redirect": "/login",
"statusCode": 302
}
}
}
Run Code Online (Sandbox Code Playgroud)
此后,当我尝试访问任何页面时,它会被重定向到 /login 并收到 404 页面。我预计它会转到天蓝色身份验证页面(由于重定向规则)。是否还需要进行任何其他配置来验证静态 Web 应用程序?
这里需要仔细检查的一件事是clientIdSettingName
和clientSecretSettingName
字段。
这些不是实际值,而是对SWA 设置的引用。这样做的原因是为了确保没有纯文本机密被提交给源代码管理。
因此,给定字面值
"clientIdSettingName": "AZURE_CLIENT_ID",
"clientSecretSettingName": "AZURE_CLIENT_SECRET"
Run Code Online (Sandbox Code Playgroud)
Azure 门户应该设置如下:
文档清楚地提到了此步骤,但在前几次通读时我错过了此设置的参考性质。最终,变量名暴露了这一点。
归档时间: |
|
查看次数: |
2119 次 |
最近记录: |