1 回答

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊
如果 WP 和 Node.js 放在一個域,那么 Cookies 包含在一個地方
您可以在 WP 通過 $_COOKIE["COOKIE NAME HERE"] 獲取 Cookies
Node.js 中的 Passport.js 包含 session_id 作為名稱為 connect_sid 的 cookie
當(dāng)您從 WP 調(diào)用任何頁面時,您可以在 cookie 中接收 connect_sid 并通過會話替換在 Node.js 端對其進(jìn)行驗證
節(jié)點(創(chuàng)建一個路由作為獲?。?/p>
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;
}
}
添加回答
舉報