const TwitterStrategy = require('passport-twitter').Strategy;
module.exports = (passport, User) => {
passport.use(new TwitterStrategy({
consumerKey: 'paLCHei1bz8uG5mzNK3ZmvWy7',
consumerSecret: 'djwTrPntW6T2hm3EJ6eIvUrqObMSymgKn6B1foMQyNeypjtbIK',
callbackURL: 'http://localhost:3000/auth/twitter/callback',
passReqToCallback: true
}, (req, accessToken, tokenSecret, profile, done) => {
User.findOne({ 'twitter.id': profile.id }, (err, x) => {
if (x) return done(null, x);
var user = {
image: profile._json.profile_image_url,
displayName: profile.displayName,
email: profile.emails[0].value,
twitter: {
id: profile.id,
email: profile.emails[0].value
}
};
User.create(user, (err, x) => done(null, x));
});
}));
};发布于 2018-03-24 19:47:59
您需要在Twitter上的应用程序权限中选中“从用户请求电子邮件地址”复选框。你可以阅读更多关于它的here
https://stackoverflow.com/questions/49313428
复制相似问题