azure - 在 Azure 存储帐户中托管的 Blazor Webassembly Azure AD 身份验证
问题描述
根据“使用 Azure Active Directory 保护 ASP.NET Core Blazor WebAssembly 独立应用程序”中描述的说明https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/standalone-with-azure -active-directory?view=aspnetcore-3.1我创建了最简单的 blazor webassembly 应用程序。在https://portal.azure.com,我在 AAD 中注册了新应用程序,并基于生成的 GUID 使用以下命令生成了本地应用程序:
dotnet new blazorwasm -au SingleOrg --client-id "{CLIENT ID}" --tenant-id "{TENANT ID}" -o {APP NAME}
如果我在本地启动应用程序,一切正常。如果我将已发布的应用程序复制到存储帐户 $web 并尝试登录,我会收到:
AADSTS50011:请求中指定的回复 URL 与为应用程序配置的回复 URL 不匹配:“...”。
在应用程序注册期间,我将应用程序定义为“Web”并将重定向 URL: https://localhost:5001/authentication/login-callback 我尝试了 URL 更改主机名、删除端口和更改路径的不同组合。我不知道如何在 AD 中成功配置应用程序。
解决方案
根据上面的答案和评论,我采取了两个步骤来解决这个问题:
Azure AD 必须在App 注册中有一个条目 | 认证 | 单页申请 | 重定向 URI读取
{WebsiteUrl}/authentication/login-callback
.{WebsiteUrl}
来自存储账户 | 静态网站 | 主要终点。确保存储帐户 | 静态网站 | 索引文档名称 和 错误文档路径 都指向
index.html
.
推荐阅读
- angular - 生产模式下未调用 HTTP_INTERCEPTOR (heroku)
- swift - 以编程方式更改显示器的颜色“配置文件”
- leaflet - 减少坐标中的位数?
- r - 展开现有数据框中的条目
- highcharts - Highcharts - 更改图表类型
- c# - UI线程阻止DLL线程运行
- python - Python,如何在不使用 numpy 的情况下对列表应用元素范围的 AND 操作?
- reactjs - 在 TSDoc 中键入 React 道具的正确格式是什么?
- javascript - Puppeteer - TypeError: require(...) is not a function
- parallel-processing - 并行化依赖随机梯度下降的 ML 模型?