未处理的异常渲染组件:构造失败'URL':无效URL

Unhandled exception rendering component: Failed to construct 'URL': Invalid URL

我已逐行this tutorial。它讲授如何使用所有代码生成 blazor wasm 托管应用程序以使用 Azure B2C 进行身份验证。我所要做的就是将正确的值替换为正确的位置。

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}"

不幸的是,当我 运行 它时,我得到这个错误:

很难说问题出在哪里。我用谷歌搜索了这个错误,但找不到关于这个问题的任何文档。

感谢您的帮助。

编辑

这是我用来创建 Blazor 应用程序的脚本

dotnet new blazorwasm -au IndividualB2C --aad-b2c-instance "testb2c.onmicrosoft.com" --api-client-id "3b113bda-55d5-47eb-9d8c-5e44375f1341" --app-id-uri "https://testb2c.onmicrosoft.com/testapi" --client-id "3b9fd635-a87f-4899-ad04-9a73fc6f4e21" --default-scope "api.read" --domain "testb2c.onmicrosoft.com" -ho -o BlazorCmdLine -ssp "B2C_1_SignUpIn"

确实有 2 个问题与注意力不集中有关。

  1. 我对 {AAD B2C INSTANCE} 和 {TENANT DOMAIN} 使用了相同的值 testb2c.onmicrosoft.com
  • {AAD B2C INSTANCE} Instance 应该是 https://testb2c.b2clogin.com/
  • {TENANT DOMAIN} domain 应该是 testb2c.onmicrosoft.com
  1. 我忘记在 {AAD B2C INSTANCE} 实例的末尾添加 正斜杠 。所以我得到 "Authority": "testb2c.onmicrosoft.comtestb2c.onmicrosoft.com/B2C_1_SignUpIn",

谢谢@just the benno、@Carl Zhao 和@Allen Wu

对于发现自己处于这种情况的任何人 - 不要再次检查您的值和 运行 命令,打开 appsettings.json 文件并检查“AzureAdB2C.Authority”值。它应该是一个有效的 URL,格式为:“{AAD B2C INSTANCE}/{TENANT DOMAIN}/{SIGN UP OR SIGN IN POLICY}”

示例: “https://testb2c.b2clogin.com/testb2c.onmicrosoft.com/B2C_1_SignUpSignIn”

来源:https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/standalone-with-azure-active-directory-b2c?view=aspnetcore-5.0