2017-10-08 8 views
0

私のアプリでログインするためにpassport-facebookを使用しようとしています。ユーザーが実際にログインしたときにリダイレクトするときに問題が発生します。基本的には、/ auth/facebookにアクセスしてフェイスブックのログインにリダイレクトした後、ログインボタンを押すとページが永久に読み込まれ、リダイレクトされません。私は間違って何をしていますか?ここでpassport-facebookが正常に動作しないsuccessRedirect

は私app.jsです:

import express from 'express'; 
import bodyParser from 'body-parser'; 
import session from 'express-session'; 
import passport from 'passport'; 
import FacebookStrategy from 'passport-facebook'; 
const app = express(); 



var fbOpts = { 
    clientID: ****, 
    clientSecret: ****, 
    callbackURL: '/auth/facebook/callback', 
    profileFields: ['id', 'displayName', 'photos', 'email'] 
} 

var fbCallback = (accessToken, refreshToken, profile, cb) => { 
    console.log(accessToken, refreshToken, profile, cb); 
    //save to database 
} 


app.use(bodyParser.json()); 
app.use(session({ 
    secret:'foobar', 
    resave:true, 
    saveUnitialized:true 
})) 

passport.use(new FacebookStrategy(fbOpts,fbCallback)) 

app.get("/",(req,res)=>{ 
    res.send("<a href='/auth/facebook'>Login with Facebook</a>") 
}); 

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


app.get('/auth/facebook/callback', 
    passport.authenticate('facebook', { 
     successRedirect : '/profile', 
     failureRedirect : '/' 
    }) 
); 


app.get("/profile",(req,res)=>res.send("profile page")) 


app.listen(3000); 

誰もが、私は存在しないか、または私のウェブサイトに戻ってリダイレクトすると間違ってやっているものを私に伝えることができますか?私は、端末のコンソールで見れば、私はFacebookのための私のユーザー情報を見ることができるので

また、私はあなたがおそらくまし

+0

FacebookアプリケーションのコールバックURLは何ですか? –

答えて

0

などプロフィールの写真、名前、ID、として、ログインが正常に動作して伝えることができます今これを修正しました。しかし、これを回避しようとしている誰のためにも。あなたが目を向けなければならない多くの参照点があります。私は年齢のためにhttps://developers.facebook.com/appsのリダイレクトのものを変更しようとしましたが、何も動作していませんでした。メッセージURLをブロックしたままにします。ホワイトリストなどなど

問題は、実際にあるため、私のIDに解決された私はcallbackURLを設定していた私のidの保存場所、ファイル:「のhttp:// 127.0.0.1:3000 /認証/ログインfacebook /コールバックを」の代わりにcallbackURL:localhost:3000。

愚かな間違いですが、私はあなたにすべての可能な参照点をチェックし続けることを知らせるために共有すると考えていました。

関連する問題