首页 > 解决方案 > 在不同端口上运行 localhost 调用 dotnet 应用程序的 Angular 应用程序在降级时获得无推荐人。由于 withCredentials?

问题描述

我使用 Angular CLI 设置了一个新的 Angular 应用程序,它在http:// localhost :4200 上运行

我允许 CORS 用于 localhost 设置。我确信它在过去有效,但现在我得到了

no-referrer-when-downgrade

铬中的错误消息。

它以某种方式与withCredentials: true 如果我输入 false 那么它工作正常。

如何将 http 调用的凭据传递到同一 localhost 域上的不同端口?

标签: c#angular.net-corecorsreferrer-policy

解决方案


您可能会尝试将 .NET Core 应用程序升级到 HTTPS。

no-referrer-when-downgrade消息表明默认引荐来源网址策略已到位,如此处所述

降级时无推荐人(默认)

如果未指定策略或提供的值无效,则这是默认行为。当协议安全级别保持不变(HTTP→HTTP、HTTPS→HTTPS)或提高(HTTP→HTTPS)时,URL 的来源、路径和查询字符串作为引荐来源网址发送,但不会发送到安全性较低的目的地( HTTPS→HTTP)。

只是为了测试,您可能会尝试将开发环境的引用策略设置为不同的值(此代码使用 NWebsec.AspNetCore.Middleware):

if (env.IsDevelopment())
{
    app.UseReferrerPolicy(opts => opts.UnsafeUrl());
}

推荐阅读