Javascript 如何在膝关节炎中设置跨域cookie 我有一个带有身份验证解决程序的膝关节炎和图形化API,它为响应cookie设置了一个辅助标记。
我的API在Javascript 如何在膝关节炎中设置跨域cookie 我有一个带有身份验证解决程序的膝关节炎和图形化API,它为响应cookie设置了一个辅助标记。,javascript,node.js,reactjs,cookies,axios,Javascript,Node.js,Reactjs,Cookies,Axios,我的API在http://localhost:3000我的前端运行在http://localhost:3001。为了实现这一点,我需要在API请求中添加withCredentials标志,并使用{origin:false,credentials:true}配置我的Koa/Cors选项。如果没有这些设置,我会得到一个CORS错误,这让我感到困惑,因为它们都在localhost上,所以技术上是同一个域 将有多个前端使用此API,并且需要在cookie中进行身份验证并获取身份验证令牌集。当我冒充我的域
http://localhost:3000
我的前端运行在http://localhost:3001
。为了实现这一点,我需要在API请求中添加withCredentials
标志,并使用{origin:false,credentials:true}
配置我的Koa/Cors选项。如果没有这些设置,我会得到一个CORS错误,这让我感到困惑,因为它们都在localhost
上,所以技术上是同一个域
将有多个前端使用此API,并且需要在cookie中进行身份验证并获取身份验证令牌集。当我冒充我的域名为http://app1.dev
&http://app2.dev
,都在http://localhost:3000
,在响应cookie中设置身份验证令牌,但浏览器不存储cookie,就像一切都是localhost
时那样
在我的API上,我使用@koa/cors
配置我的cors,然后设置以下内容:
app.use(cors({ origin: false, credentials: true }))
在我的前端react应用程序中,我有一个用于所有GraphQL查询的请求函数:
const request = query => {
const request = axios.create({
baseURL: apiUrl,
headers: {'X-apikey': apiKey},
withCredentials: true,
});
return request.post('/graphql', { query })
.then(res => res.data)
.catch(console.error)
}
为什么浏览器中没有设置cookies
编辑:更新了我的axios请求以创建axios实例并尝试设置凭据。不过,我在dev工具中的请求中仍然没有看到凭据参数。我怀疑这就是问题所在