在 Blazor WebAssembly 应用程序上加载请求 B2C 登录屏幕时出错

Posted

技术标签:

【中文标题】在 Blazor WebAssembly 应用程序上加载请求 B2C 登录屏幕时出错【英文标题】:Error on loading request B2C login screen on Blazor WebAssembly app 【发布时间】:2020-11-28 15:46:41 【问题描述】:

我已按照本教程使用 Azure AD B2C 向我的 WebAssembly 应用程序添加授权和身份验证。 https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-azure-active-directory-b2c?view=aspnetcore-5.0

我已经完成了教程,并且没有对代码进行额外的调整。但是,我在运行应用程序时尝试登录时遇到了问题。

资源无法正常工作,因为应用使用的 URL 错误。它使用这个:https://easytimeslot.b2clogin.comeasytimeslot.onmicrosoft.com/b2c_1_customuserflow/v2.0/.well-known/openid-configuration

而不是使用这个:https://easytimeslot.b2clogin.com/easytimeslot.onmicrosoft.com/b2c_1_customuserflow/v2.0/.well-known/openid-configuration

现在我已经尝试过什么来解决它。我尝试编辑 appsettings.json 文件,并在实例中添加一个斜杠,并在域中尝试了一个起始斜杠。他们都没有工作。

我也尝试查看 URL 的代码,但找不到任何东西。

有谁知道我能做些什么来解决这个问题? 提前谢谢!

【问题讨论】:

【参考方案1】:

我想通了。 我对 appsettings.json 中的斜杠是正确的,但是在文件中手动编辑它不起作用。 因此我再次像这样创建了项目: dotnet new blazorwasm -au IndividualB2C --aad-b2c-instance "AAD B2C INSTANCE" --api-client-id "SERVER API APP CLIENT ID" --app-id -uri "SERVER API APP ID URI" --client-id "CLIENT APP CLIENT ID" --default-scope "DEFAULT SCOPE" --domain "TENANT DOMAIN" -ho -o APP NAME -ssp "SIGN UP OR SIGN IN POLICY"

其中 AAD B2C INSTANCE 需要在末尾有一个斜杠。例如:https://contoso.b2clogin.com/

【讨论】:

以上是关于在 Blazor WebAssembly 应用程序上加载请求 B2C 登录屏幕时出错的主要内容,如果未能解决你的问题,请参考以下文章

检查 Blazor 应用程序是 WebAssembly 还是服务器?

Blazor WebAssembly 3.2 正式发布

Blazor正式成为Microsoft官方.NET 和WebAssembly项目

HttpMessageResponse 在 Blazor WebAssembly 应用程序中没有内容

Blazor Server 和 WebAssembly 应用程序入门指南

「译」 用 Blazor WebAssembly 实现微前端