Axios无法将Cookie传递到ExpressJS服务器
问题似乎是axios没有将cookie与GET请求一起传递给/validate端点,但它是从reactJS客户端应用程序运行的/validate获取cookie,提取令牌,并对用户数据库进行axios调用,以返回响应 其想法是让curl with cookies调用与此API服务器以及UI客户端应用程序一起工作。所有内容都在同一个VM上,我尝试在API服务器上使用cors,并允许在Auth上使用头,但没有成功 Cookie设置Axios无法将Cookie传递到ExpressJS服务器,express,cookies,axios,Express,Cookies,Axios,问题似乎是axios没有将cookie与GET请求一起传递给/validate端点,但它是从reactJS客户端应用程序运行的/validate获取cookie,提取令牌,并对用户数据库进行axios调用,以返回响应 其想法是让curl with cookies调用与此API服务器以及UI客户端应用程序一起工作。所有内容都在同一个VM上,我尝试在API服务器上使用cors,并允许在Auth上使用头,但没有成功 Cookie设置 res.cookie('token', response.data.
res.cookie('token', response.data.access_token, { maxAge: 9000000, httpOnly: true, sameSite: 'lax', signed: false, secure: true });
expressjsapi服务器
console.log(request.cookies) <--I can see cookies
axios.get('https://server.com/validate', {withCredentials: true})
.then((res) => {
console.log(res.headers)
console.log("API says ayyyyy")
next()
}, (error) => {
//console.log(error)
console.log("API says noooo")
});
console.log(request.cookies){
console.log(res.headers)
log(“API说ayyyyy”)
下一个()
},(错误)=>{
//console.log(错误)
log(“API说noooo”)
});
ExpressJS身份验证服务器
router.use('/validate', function(req, res, next) {
let accessTok = req.cookies['c_accessToken']; <-- no cookies here
let accessToken = 'Bearer ' + `${accessTok}`;
axios.request({
url: '/oauth/me',
method: 'get',
baseURL: process.env.RT_VENDOR_HOST_UAT,
headers: {
'Authorization': `${accessToken}`,
'content-type': 'application/json'
}
})
.then(response => {
路由器。使用('/validate',函数(req、res、next){
让accessTok=req.cookies['c_accessToken']{
当服务器发出类似axios.get的请求时https://server.com/validate“,{withCredentials:true}),该请求与您的req.cookies
没有任何关系,因为它来自一个完全不同的请求。如果您想使用axios()将这些cookies设置到出站请求中
,然后您需要自己在传出请求上设置cookie头。