我是node.js环境的新手,我使用passport.js进行身份验证。 我知道如何使用passport-google进行身份验证,但我不知道如何将经过身份验证的Google帐户的电子邮件ID,姓名,照片等数据转换为html表单。 以下是server.js
..
var passport = require('passport')
..
app.get('/auth/google', passport.authenticate('google'));
app.get('/auth/google/return', passport.authenticate('google', { successRedirect: '/',
failureRedirect: '/login' }));
request.js文件是
var passport = require('passport');
var GoogleStrategy = require('passport-google').Strategy;
passport.use(new GoogleStrategy({
returnURL: 'http://localhost:9000/profilepage.html',
realm: 'http://localhost:9000'
},
function(identifier, profile, done) {
User.findOrCreate({ openId: identifier }, function(err, user) {
done(err, user);
});
}
));
答案 0 :(得分:1)
配置文件数据将填充到profile
的回调函数的第二个参数(名为GoogleStrategy
)中。看一下这段代码示例:https://github.com/jaredhanson/passport-google/blob/master/examples/signon/app.js
您可以访问以下用户个人资料信息:
function(identifier, profile, done) {
var userData = {identifier: identifier};
// append more data if needed
userData.email = profile.emails[0];
userData.displayName = profile.displayName;
userData.fullName = profile.familyName + " " + profile.givenName;
// id is optional
if (profile.id) {
userData.id = profile.id;
}
return done(null, userData);
});