登录 twitter,然后转到 dev.twitter.com 并找到“管理您的应用程序”链接,它会将您重定向到 apps.twitter.com,在那里您将找到“创建新应用程序”按钮,单击它然后填写表格。创建应用程序后,转到您创建的应用程序并转到“密钥和访问令牌”选项卡并单击“生成消费者密钥和秘密”现在复制“消费者密钥”“消费者秘密”“访问令牌”“访问令牌秘密”和输入你的代码。
如果您使用护照身份验证,请使用以下代码获取登录用户的“访问令牌”和“访问令牌秘密”
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var TWITTER_CONSUMER_KEY = "your consumer key got from above steps";
var TWITTER_CONSUMER_SECRET = "your consumer key secret got from above steps ";
var UserSchema = new Schema({
provider: String,
uid: String,
name: String,
image: String,
token: String,
tokenSecret: String,
created: {type: Date, default: Date.now}
});
mongoose.connect(mongooseConnectionString);
mongoose.model('User', UserSchema);
var User = mongoose.model('User');
passport.use(new TwitterStrategy({
consumerKey: TWITTER_CONSUMER_KEY,
consumerSecret: TWITTER_CONSUMER_SECRET,
callbackURL: twitterCallBackUrl
},
function(token, tokenSecret, profile, done) {
User.findOne({uid: profile.id}, function(err, user) { //check if the user profile is already present in the database
if(user) { //if profilie is already present then do nothing
done(null, user);
} else { //else save user profile and tokens in the database
var user = new User();
user.provider = "twitter";
user.uid = profile.id;
user.name = profile.displayName;
user.image = profile._json.profile_image_url;
user.token = token;
user.tokenSecret = tokenSecret;
user.save(function(err) {
if(err) { throw err; }
done(null, user);
});
}
})
}
));
我假设您已经是护照模块,因此您可以自己管理其余代码