为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 WordPress 解析 Node Express 会话

如何从 WordPress 解析 Node Express 会话

慕运维8079593 2021-06-29 00:16:09
有 :WordPress example.domain带有 Passport.js 的 Node.js Express example.domain/nodeNode.js 放入connect.sidcookieres.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 flagUser: I want to logout from example.domainNode: Yes, you're not authorized and can get WP pages with false-auth flag```
查看完整描述

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;

    }

}


查看完整回答
反对 回复 2021-07-01
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信