Node.js 无法从react js向express服务器发送httponly cookie
我正在开发一个Node.js 无法从react js向express服务器发送httponly cookie,node.js,reactjs,express,Node.js,Reactjs,Express,我正在开发一个react应用程序,它从第三方网站接收httponlycookie 我可以在Chrome developer控制台中看到cookie。 我正在尝试将此cookie发送到我的应用程序的后端,内置于expressjs,以便我可以读取cookie。我正在使用fetch向应用程序发送GET请求,同时包括下面的prop: 凭证:“包括” 在express服务器中,我允许我的前端进入CORS并且 将凭据设置为true 问题: 在我的express服务器的请求头中,我看不到httponlyco
react
应用程序,它从第三方网站接收httponly
cookie
我可以在Chrome developer控制台中看到cookie。
我正在尝试将此cookie发送到我的应用程序的后端,内置于expressjs
,以便我可以读取cookie。我正在使用fetch
向应用程序发送GET
请求,同时包括下面的prop
:
凭证:“包括”
在express
服务器中,我允许我的前端进入CORS
并且
将凭据设置为true
问题:
在我的express
服务器的请求头中,我看不到httponly
cookie
有人能告诉我如何发送httponly
并将其放入express
服务器中吗?在客户端上,您还必须启用凭据。有axios
模块可以使用凭据发出请求。用法示例:
import axios from 'axios'
const instance = axios.create({
withCredentials: true,
baseURL: API_SERVER
})
instance.get('todos')
换句话说,您可以使用XMLHttpRequest
提供cookie
:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/', true);
xhr.withCredentials = true;
xhr.send(null);
第一件事是允许我们的Express应用程序能够从主机接收请求,在我们的情况下,Fetch API在主机上进行调用https://localhost:8080
const express = require('express');
const cors = require('cors');
app.use(cors({
origin: 'http://localhost:8080',
credentials: true
}));
最后一件事是通过fetchapi从[https://localhost:8080]到[http://localhost:9090/example]:
fetch('http://localhost:9090/example',{
method: ‘GET’,
credentials: 'include'
});
现在,无论我们从另一台主机发出请求,我们都会收到cookies我尝试使用axios并将withCredentials prop设置为true,但我仍然无法在我的后端服务器(express server)中获取httponly第三方cookies。我只能在后端看到我的应用程序cookies。因此,您没有提供这些cookies。请尝试将它们设置为浏览器cookies,或将其存储在内存中的其他位置,并将这些值作为请求参数发送。请解释如何在浏览器cookies中设置第三方cookies。这已经完成,但我无法查看仅httponly cookies。例如,这些httponly cookies来自第三方域。(.abc.com)