2017-01-08 2 views
0

여권 페이스 북 전략을 사용하는 응용 프로그램을 배포하려고합니다. 먼저 로컬 호스트에서 내 앱을 테스트 한 다음 AWS에 배포하려고했습니다.평균 페이스 북 로그인

모든 것이 내 로컬 컴퓨터에서 제대로 작동하는 것처럼 보였지만 배포 할 때 여러 페이스 북 계정으로 로그인을 시도했습니다.

나는 API 호출에 수신 된 변수를 저장하고 각

그러나, 처음 인증 된 사용자가 모든 것이 잘 작동 것 같다,하지만 두 번째 사용자가 인증 때 사용자 이름과 같은 자신의 변수를 무시합니다, 프로필 이미지를 통해 사람들을 검색

나는 왜 이렇게하는지 알고있다. 그러나 나는 immediatly 마음에있는 해결책이 있지 않는다. 내가

app.get('/login/facebook', 
    passport.authenticate('facebook')); 

app.get('/login/facebook/return', 
    passport.authenticate('facebook', { failureRedirect: '/login' }), 
    function(req, res) { 
    res.redirect('/'); 
    UserID = req.user.id; 
    UserDisplayName = req.user.displayName; 

    UserProfileImage = req.user._json.picture.data.url; 
    console.log(req.user._json.picture.data.url) 

    var User = UserID + UserDisplayName; 
    var ProfilePicture = UserProfileImage 
    res.json({name: User , url: ProfilePicture}); 
    }); 

app.get('/profileInfo', function(req, res){ 
    var User = UserID + UserDisplayName; 
    var ProfilePicture = UserProfileImage 
    res.json({name: User , url: ProfilePicture}); 

}); 

답변

0

어떻게 당신이 당신의 사용자를 저장 할 인증 할 때 여기에

내 서버 측 코드?

코드에서 사용자 ID를 UserID 변수에 저장하지만 다음 사용자가 로그인하면 덮어 쓰기됩니다.

var users = {}; 

app.get('/login/facebook/return', 
    passport.authenticate('facebook', { failureRedirect: '/login' }), 
    function(req, res) { 

    // save user to users object 
    users[req.user.id] = { 
     displayName: req.user.displayName, 
     profileImage: req.user._json.picture.data.url 
    } 

    res.redirect('/'); 
    }); 

// you need to use some kind of sessions or cookies to know which user this is 
// for simplicity let's assume you get profile by user's id /profileInfo/:id 
app.get('/profileInfo/:id', function(req, res) { 

    res.json(users[req.params.id]); 

}); 
: 나는 전체 코드를 볼 수 있지만 이런 식으로 뭔가를 시도 할 수 없기 때문에

난 단지 quessing 해요