.net 6.0 中的 Blazor Webassembly Azure AD 身份验证异常无效 Url

Blazor Webassembly Azure AD Authentication in .net 6.0 exception invalid Url

我将我的客户端项目升级到 .net 6.0, 在 IIS 中部署后出现 属性 未定义错误, 我将 TrimmerRootAssembly 添加到 csproj


    <ItemGroup>
        <TrimmerRootAssembly Include="Microsoft.Authentication.WebAssembly.Msal" />
      </ItemGroup>

作为本问题的建议 但后来我又收到另一个错误 invalid Url

Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
  Unhandled exception rendering component: Failed to construct 'URL': Invalid URL
  TypeError: Failed to construct 'URL': Invalid URL
      at new u (https://devdms/_content/Microsoft.Authentication.WebAssembly.Msal/AuthenticationService.js:2:191011)
      at Function.init (https://devdms/_content/Microsoft.Authentication.WebAssembly.Msal/AuthenticationService.js:2:196273)
      at https://devdms/_framework/blazor.webassembly.js:1:3332
      at new Promise (<anonymous>)
      at Object.beginInvokeJSFromDotNet (https://devdms/_framework/blazor.webassembly.js:1:3306)
      at Object.Rt [as invokeJSFromDotNet] (https://devdms/_framework/blazor.webassembly.js:1:59738)
      at _mono_wasm_invoke_js_blazor (https://devdms/_framework/dotnet.6.0.1.716ng6fo9h.js:1:194546)
      at https://devdms/_framework/dotnet.wasm:wasm-function[219]:0x1a129
      at https://devdms/_framework/dotnet.wasm:wasm-function[167]:0xcaf7
      at https://devdms/_framework/dotnet.wasm:wasm-function[166]:0xba0a

Microsoft.JSInterop.JSException: 构建失败 'URL': 无效 URL TypeError: 构造失败 'URL': 无效 URL

知道问题出在哪里吗?顺便说一句,该项目在本地工作没有任何问题

请检查web中形成的地址,是哪里出错了,修改代码中的认证请求。

打开appsettings.json文件并检查权限、回调路径等所有值是否正确配置或实例、域...是否正确给出。

"AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": " ",
    "TenantId": " ",
    "ClientId": " ",
    "CallbackPath": "/signin-oidc"
  },

并确保在身份验证 blade Ex:https://localhost:1443/signin-oidc 下,在 Azure 应用程序注册中提供了有效的重定向 url。 如果添加了任何范围,请确保同意权限。

删除 bin 和 obj 文件夹,清除浏览器的缓存。删除服务器上目标文件夹中的所有文件,然后在发布前重建解决方案。

chrome 扩展也可能有问题。

参考: Blazor WASM Net 6 Preview 4 Azure AD (github.com)