看看passportjs这是一个用于提供不同身份验证策略(截至今天超过140个)的node.js身份验证模块。幸运的是,有一个OAuth 2 stategy进行验证反对wordpress。该策略的github页面位于here。
护照和passport-wordpress都可以通过npm包管理器安装。之后,如果您的节点应用程序是express.js应用程序,则可以使用passport.authorize()
路由中间件方法验证每个请求的身份。从护照文档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端使用什么类型的框架。
谢谢!护照似乎工作得很好。 – Johandk