범위를 수정하려면 Facebook 전략에 대한 경로를 설정할 때 이렇게합니다. 내가 몽구스와 MongoDB를 내 정보를 저장하고
app.get('/auth/facebook', passport.authenticate('facebook', { scope: 'email' }));
app.get('/auth/facebook/callback',
passport.authenticate('facebook', { successRedirect: '/',
failureRedirect: '/' }));
,하지만 당신은 쉽게 할 수 있습니다 나는 사용자의 이메일 내 범위의 일부가 될하려는 경우
예를 들어, 광산은 다음과 같을 것이다 친구를 req.user 안에 고수하십시오. 때로는 너무 같은 CONSOLE.LOG (프로필) 넣어하는 것이 도움이된다
passport.use(new FacebookStrategy({
clientID: Common.conf.fb.appId,
clientSecret: Common.conf.fb.appSecret,
callbackURL: Common.conf.site_url + "/auth/facebook/callback"
},
function(accessToken, refreshToken, profile, done) {
Model.User.findOne({uid: profile.id}, function(err, user) {
if (err) { return done(err); }
if (user) { done(null, user); } else {
var user_data = {
provider: profile.provider
, alias: profile.username
, email: profile.emails[0].value
, uid: profile.id
, created: new Date().getTime()
, name: {
first: profile.name.givenName
, last: profile.name.familyName
}
, alerts: {
email: true
, mobile: false
, features: true
}
};
new Model.User(user_data).save(function(err, user) {
if(err) { throw err; }
done(null, user);
});
}
});
}
));
: 위해
function(accessToken, refreshToken, profile, done) {
console.log(profile);
을 당신이 볼 수 있도록 여기 내 페이스 북 사용자의 데이터를 매핑하는 방법의 예입니다 Facebook API가 제공하는 원시 출력과 사용자 정의 범위 변수가 있는지 확인합니다.
그래프 API를 어떻게 작성하는지 공유해주세요. –