【问题标题】:React JS, ASP.Net core Web API handle CorsReact JS、ASP.Net 核心 Web API 处理 Cors
【发布时间】:2021-06-25 18:30:54
【问题描述】:

我的项目有 2 个应用程序。一个基于 React JS 的 SPA 应用程序和一个 ASP.Net Core Web API 项目。问题是我收到错误“Referrer Policy: strict-origin-when-cross-origin”

我浏览了网络上有关如何在 Web API 项目上允许 Cors 的文章。但我的问题是这个。基于解决此问题的推荐方法,是定义一组允许的来源。但由于前端是一个 JS 应用程序,API 请求将来自客户端或用户的机器。所以我不能准确地定义原点。

其他选项是允许所有来源。这将是我的方案的最佳选择吗?或者有没有其他方法。

【问题讨论】:

  • 当api为https时react项目是否为http? strict-origin 不允许 referrer 显示在从 https 到 http 的请求中。

标签: reactjs asp.net-core asp.net-core-webapi


【解决方案1】:

一个误会。

但由于前端是 JS 应用,API 请求将来自 客户端或用户的机器。

API 请求肯定会来自客户端或用户的机器,但通过托管 React 应用程序的服务器。

所以,你的服务器就是源头。

例如:当您处于开发阶段时,您的 React 应用程序将托管在 http://localhost:3000/ 中。这是请求的来源。

因此在 .Net Core 项目中,CORS 应配置为 Startup.cs 为:

ConfigureServices 方法:

services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                    builder => builder
                        .WithOrigins("http://localhost:3000/")
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        .AllowCredentials());
            });

Configure 方法:

app.UseCors("CorsPolicy");

【讨论】:

    猜你喜欢
    • 2017-08-25
    • 2019-02-04
    • 2020-11-01
    • 2017-08-05
    • 2015-09-26
    • 2016-12-14
    • 1970-01-01
    • 2020-01-24
    • 2017-01-30
    相关资源
    最近更新 更多