我有一个.net Core 2 Web API,该API为将从子域提供服务的vue.js提供服务。
我目前有一个vue.js客户端站点,它接受来自ASP.Net Core Identity Web api的身份验证cookie。我刚刚将客户端应用程序从.net核心应用程序中迁移出来,以便从节点实例进行服务。
我在本地调试,并且两者都在具有不同端口的localhost上运行。
我想知道是否可以通过指定身份应服务的域/主机来使.net核心身份向vue.js站点传递身份验证cookie。
最终,客户端和服务器应用程序将从相同的域提供服务,但从不同的子域提供服务。
答案 0 :(得分:1)
将您的vue http客户端设置为使用凭据。例如,对于axios,您将覆盖默认值“ withCredentials”:
axios.defaults.withCredentials = true;
答案 1 :(得分:0)
我通过在我的axios实例上添加withCredentials:true来解决
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API_URL,
timeout: 60000,
withCredentials: true, <=========== ADDING
})
和http://localhost:8080到下面指定的原点
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy", builder =>
{
builder.WithOrigins("http://localhost:8080") <=========== ADDING
.AllowAnyMethod().AllowAnyHeader().AllowCredentials();
});
});