我已经创建了带有 Express 框架和 PassportJS 支持的演示应用程序(在 node.js 之上)。我需要使用 Wargaming.net 帐户实现 OpenID 身份验证(OpenID url 是http://ru.wargaming.net/id/)。但是 Passport 模块返回 flash 消息“缺少 OpenID 标识符”。请帮我找出我的代码中的错误。
passport.use(new OpenIDStrategy({
returnURL: 'http://localhost:3000/auth/openid/return',
realm: "http://localhost:3000/",
profile: true
},
function(identifier, profile, done) {
User.findByOpenID(identifier, function (err, user) {
done(err, user);
});
}
));
app.post('/auth/openid', passport.authenticate('openid'));
app.post('/auth/openid/return',
passport.authenticate('openid', { successRedirect: '/',
failureRedirect: '/login',
failureFlash: true }));