1 回答
TA贡献2051条经验 获得超10个赞
如果 WP 和 Node.js 放在一个域,那么 Cookies 包含在一个地方
您可以在 WP 通过 $_COOKIE["COOKIE NAME HERE"] 获取 Cookies
Node.js 中的 Passport.js 包含 session_id 作为名称为 connect_sid 的 cookie
当您从 WP 调用任何页面时,您可以在 cookie 中接收 connect_sid 并通过会话替换在 Node.js 端对其进行验证
节点(创建一个路由作为获取):
router.get("/check", function (req, res) {
res.send(req.isAuthenticated)
})
工作组:
function get_auth_state(){
$cookie = 'Cookie: connect.sid=' . urlencode($_COOKIE["connect_sid"]) . ';';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://localhost-node-address/check",
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
$cookie
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
return "cURL Error #:" . $err;
} else {
return $response;
}
}
添加回答
举报