单击使用 Balosar 项目(wasm + openiddict)登录,如何启用 CORS?

Posted

技术标签:

【中文标题】单击使用 Balosar 项目(wasm + openiddict)登录,如何启用 CORS?【英文标题】:Click on login with Balosar project (wasm + openiddict), how to enable CORS? 【发布时间】:2021-11-04 10:25:41 【问题描述】:

我正在运行Balosar project 如下:

我编辑 Balosar.Client Program.cs:

    options.ProviderOptions.Authority = "https://localhost:44360/";

我运行服务器

dotnet 运行 urls=https://localhost:44360

我运行客户端

dotnet 运行

根据客户端项目的launchSetings.json,我将浏览器连接到https://localhost:44310。

当我在浏览器中单击 Log In 时,我会在网络控制台中看到以下内容:

以及浏览器中的以下消息:

尝试让您登录时出错:“网络错误”

服务器获取https://localhost:44360/.well-known/openid-configuration 请求并发送响应(我可以在控制台中读取它),但响应永远不会到达客户端。

我想我必须配置CORS,但我不知道在哪里。

【问题讨论】:

【参考方案1】:

该 Balosar 项目是使用托管模板设置的。

当您启动服务器项目(而不是客户端)并将浏览器指向服务器 URL 时,它应该可以工作。当客户端由服务器提供服务时,您不需要 CORS。

当您想在其他地方启动客户端表单时,您需要add CORS settings in the Server project。

【讨论】:

恢复项目 + 从 Visual Studio(或 dotnet 运行)运行服务器项目一切正常。 dotnet run -urls=urls=https://localhost:44360 出错了,但我认为它来自客户端 Program.cs 文件的 options.ProviderOptions.Authority = "https://localhost:44310/" 行。

以上是关于单击使用 Balosar 项目(wasm + openiddict)登录,如何启用 CORS?的主要内容,如果未能解决你的问题,请参考以下文章

为什么越来越多公链项目将WASM拥入怀中?

Blazor_WASM之3:项目结构

MudBlazor WASM 项目在启动时挂起

区分单击显示的项目和单击组合框中下拉列表中的项目

ffmpeg.wasm的使用教程

升级到 .net 6 时托管的 Blazor WASM 身份验证中断