在Node.js中针对WordPressvalidation请求

我有一个Wordpress网站和一个node.js应用程序一起形成我正在build设的Web应用程序。 我使用节点,因为socket.io和Wordpress有很多其他的原因。 无论哪种方式,我不能放弃wordpress或节点

我面对的问题是确保通过wordpresslogin的用户在向节点服务器发出请求时是有效的用户。

我应该在wordpressauthentication过程中将会话信息推送到节点服务器,并让它保持自己的会话吗? 然后在随后的请求到Node服务器只使用它?

我正在努力让我的头在此,并会感谢任何帮助。

看看passportjs ,这是一个用于提供不同身份validation策略的node.js身份validation模块(截至今天超过140个)。 幸运的是有一个OAuth 2 stategyauthentication反对wordpress。 这个策略的github页面位于这里 。

护照和passport-wordpress都可以通过npm包pipe理器来安装。 之后,如果您的节点应用程序是express.js应用程序,则可以使用passport.authorize()路由中间件方法对每个请求进行身份validation。 从护照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的示例):

 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('/'); }); 

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