【发布时间】:2021-07-03 00:25:55
【问题描述】:
我有一个在 root / 上运行的 reactjs 前端。
在同一个域和服务器上,有一个 Wordpress 实例在默认的 Wordpress slugs(/wp-admin、/wp-json 等)下运行。我已经通过 WP API 通过 JWT 对用户进行身份验证。
问题是我需要获取 Wordpress 默认身份验证 cookie,以便用户无需登录两次即可在 Wordpress 和 reactjs 页面之间切换。
我开始在登录时添加第二个提取,它调用/login.php 路由并将登录凭据作为表单数据发布。在 Postman 中,我得到了我需要的正文、标题和身份验证 cookie:
如果我在我的 react 前端中获取它,我没有得到 cookie,也没有设置,也没有在 document.cookie 下或在开发工具中可用。
这是我在 react 中的 fetch 函数,它返回仪表板页面作为响应数据和状态代码 200:
async handleCookies() {
const formData = new FormData()
formData.append('log', this.state.mail)
formData.append('pwd', this.state.password)
await fetch('XXX.XXX.XXX.XXX/wp-login.php', {
method: 'POST',
body: formData,
credentials: 'include',
headers: { 'Content-type': 'application/x-www-form-urlencoded', Cache: 'no-cache' },
})
.then(response => response)
.then(cookies => {
alert(cookies)
})
.catch(err => console.log(err))
}
期望:我期望收到 cookie。
【问题讨论】:
标签: reactjs wordpress cookies fetch