如何从 WordPress 解析 Node Express 会话

有 :

  • WordPress example.domain

  • 带有 Passport.js 的 Node.js Express example.domain/node

Node.js 放入connect.sidcookie

res.isAuthenticated当用户从 Node.js 调用任何方法时,我可以验证用户身份验证

但是如何通过 WordPress 验证用户身份?

WordPress 将页面呈现为 MVC 客户端

Node.js 作为 REST API

我有几个想法:

  • 是否可以在 Node.js 上创建一个空方法,该方法返回标志并在元素加载时添加对它的 API 方法的调用?

  • 可能是在 Node.js 返回方法下移动 WP?

User: I want to example.domain 


Node: Yes, you're authorized and can get WP pages with true-auth flag


User: I want to logout from example.domain


Node: Yes, you're not authorized and can get WP pages with false-auth flag```


慕运维8079593
浏览 129回答 1
1回答

侃侃无极

如果 WP 和 Node.js 放在一个域,那么 Cookies 包含在一个地方您可以在 WP 通过 $_COOKIE["COOKIE NAME HERE"] 获取 CookiesNode.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;    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript