【发布时间】:2021-07-24 03:50:32
【问题描述】:
我开发了一个 react 应用和一个 express API。在 localhost 中一切正常。
我将我的 API 移到了 digitalocean droplet,它只是 IP 地址,它是 HTTP。
当我在开发环境中使用 react 应用程序的 API 时,它可以正常工作。它从 API 获取 cookie,将它们发送到 API 进行授权...
但是,当我在我的 react 应用程序上运行 npm run build 进行生产并在我的本地计算机上提供它之后,它停止向 API 发送 cookie 并且 API 停止向 react 应用程序发送 cookie。
我在 index.js / react app 中将我的 API 的 IP 设置为基本 url 和凭据为真
axios.defaults.baseURL = "http://xxx.xxx.xxx.xxx"
axios.defaults.withCredentials = true
API 中的 API cors 设置
app.use(cors({origin: true, credentials: true}))
Axios 登录请求(成功登录后不显示 cookie)
await axios.post('/api/main/login', {form: form}).then(async resp => {
if(resp.data == 'VALIDERR' || resp.data == 'CHECKERR') {
setErrs({...errs, serverErrs: [resp.data]})
setLoading(false)
} else {
setLoading(false)
checkLogin()
window.location.href = "/admin"
}
})
用于登录请求的 API res.cookie
res.cookie('auth', {token: token, name: user.name}).send('OK')
我希望有人在构建 react 应用程序后知道出了什么问题。 感谢您的帮助
【问题讨论】:
标签: javascript node.js reactjs express cookies