【发布时间】:2020-11-06 23:14:06
【问题描述】:
根据“使用 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 中成功配置应用程序。
【问题讨论】:
-
在门户中导航到您的存储帐户 ->
Static website-> 复制Primary endpoint,然后将重定向 url 更改为<Primary endpoint>/authentication/login-callback,类似于https://xxxx.z13.web.core.windows.net/authentication/login-callback,它会工作吗? -
我已按照您的建议更改了重定向 URL,单击登录链接后服务器回答“请求的内容不存在。HttpStatusCode: 404 ErrorCode: WebContentNotFound RequestId: 59d63c65-a01e-00d7-7827-5c8b94000000 TimeStamp: 2020-07-17T10:43:11.6487124Z"
-
如果是的话,原来的问题已经解决了,对于新的问题,你需要在启用网站时指定一个错误文档,然后返回一个默认的404页面给用户,见docs.microsoft.com/en-us/azure/storage/blobs/…
-
原始问题未解决。问题是一样的:用户登录后,HTTP 服务器找不到登陆位置(重定向 URL)。我刚刚阅读了身份验证库的源代码。一切看起来都很好,所以问题出在其他地方。
-
你能在用户登录时显示你的请求网址吗?
标签: azure authentication azure-storage blazor-webassembly