读取WebApi中的cookie跨子域>>

问题描述 投票:0回答:1

我有一个.NET Core 3.1 WebApi应用程序,其中UI和API托管在同一根域的不同子域上,例如https://api.domain.comhttps://ui.domain.com

UI站点设置了一些我需要在API后端中读取的cookie(.domain.com),但是无论我如何尝试-cookie永远不会传入。我启用了CORS策略,该策略允许我的[ C0] ConfigureServices:

Startup.cs

并在应用程序配置中使用它:

services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                builder =>
                {
                    builder.WithOrigins("https://*.domain.com")
                           .SetIsOriginAllowedToAllowWildcardSubdomains
                           .AllowAnyMethod()
                           .AllowAnyHeader()
                           .AllowCredentials();
                });
            });

我还设置了Cookie政策:

app.UseCors("CorsPolicy");

但是从 app.UseCookiePolicy( new CookiePolicyOptions() { MinimumSameSitePolicy = Microsoft.AspNetCore.Http.SameSiteMode.Lax }); 调用https://api.domain.com时,预期的cookie不存在。

如果UI和API都在同一个完全相同的子域上-则可以。我想念什么?

我有一个.NET Core 3.1 WebApi应用程序,其中UI和API托管在同一根域的不同子域上,例如https://api.domain.com和https://ui.domain.com UI站点设置了一些Cookie。 (....

asp.net-core cookies .net-core cross-domain web.api
1个回答
0
投票

我最终将https://ui.domain.com添加到每个{ withCredentials: true }请求中。有点痛苦,但这是唯一对我有用的东西。

© www.soinside.com 2019 - 2024. All rights reserved.