看看passportjs,它是node.js 的一个身份验证模块,它提供了不同的身份验证策略(截至目前已超过140 个)。幸运的是,有一个针对 wordpress 进行身份验证的 OAuth 2 策略。本攻略的github页面位于here。
passport 和 passport-wordpress 都可以通过 npm 包管理器安装。之后,如果您的节点应用程序是 express.js 应用程序,您可以使用 passport.authorize() route-middleware 方法对每个请求进行身份验证。来自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 为例):
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 应用程序如何协同工作以及您在节点上使用的框架类型。 js端。