Javascript 根据Wordpress验证node.js中的请求

Javascript 根据Wordpress验证node.js中的请求,javascript,php,wordpress,node.js,authentication,Javascript,Php,Wordpress,Node.js,Authentication,我有一个Wordpress站点和一个node.js应用程序,它们共同构成了我正在构建的web应用程序。我之所以使用Node,是因为socket.io和Wordpress还有很多其他原因。无论哪种方式,我都无法删除wordpress或node 我面临的问题是,在向节点服务器发出请求时,确保通过wordpress登录的用户是有效用户 我应该在wordpress身份验证过程中将会话信息推送到节点服务器,并让它维护自己的会话吗?然后在后续对节点服务器的请求中使用它 我正在努力想办法解决这个问题,希望能得

我有一个Wordpress站点和一个node.js应用程序,它们共同构成了我正在构建的web应用程序。我之所以使用Node,是因为socket.io和Wordpress还有很多其他原因。无论哪种方式,我都无法删除wordpress或node

我面临的问题是,在向节点服务器发出请求时,确保通过wordpress登录的用户是有效用户

我应该在wordpress身份验证过程中将会话信息推送到节点服务器,并让它维护自己的会话吗?然后在后续对节点服务器的请求中使用它

我正在努力想办法解决这个问题,希望能得到任何帮助。

看看哪一个是node.js的身份验证模块,它提供了不同的身份验证策略(截至目前已有140多个)。幸运的是,有一个OAuth2策略用于针对wordpress进行身份验证。此策略的github页面位于

passport和passport wordpress都可以通过npm软件包管理器安装。之后,如果节点应用程序是应用程序,则可以使用
passport.authorize()
路由中间件方法对每个请求进行身份验证。从passport wordpress的文档中:

定义策略

passport.use(new WordpressStrategy({
    clientID: CLIENT_ID,
    clientSecret: CLIENT_SECRET
  },
  function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({ WordpressId: profile.id }, function (err, user) {
      return done(err, user);
    });
  }
));
通过
passport.authorize
在您的路线中使用策略(例如expressjs):

如果您不使用expressjs或不想使用passportjs,请提供更多信息,说明wordpress安装和node.js应用程序如何协同工作,以及您在node.js端使用的框架类型

app.get('/auth/wordpress',
  passport.authorize('wordpress'));

app.get('/auth/wordpress/callback', 
  passport.authorize('wordpress', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/');
  });