我正在使用PassportJS,它是Facebook的策略來爲我的網站對用戶進行身份驗證。通過PassportJS從Facebook處理取消選擇的值
當用戶不在Facebook彈出窗口中取消選擇任何內容時,所有這一切都很好。
但是,說用戶取消選擇電子郵件,我不會收回,這顯然是在用戶的控制。
我的問題是 - 我如何根據我重試的數據將他們引導到「別的地方」?
passport.use(new FacebookStrategy({
clientID: config.facebook.appID,
clientSecret: config.facebook.appSecret,
callbackURL: config.facebook.callbackURL,
profileFields: ['displayName', 'picture.type(large)', 'emails', 'birthday', 'location']},
function(accessToken, refreshToken, profile, done){
var newUser = new userModel({
fullname : profile.displayName,
profilePic : profile.photos[0].value || '',
email : profile.emails[0].value || '',
birthday : profile._json.birthday || '',
location : profile._json.location.name || '',
});
newUser.save(function(err){
done(null, newUser);
});
);
}
我當然可以做某種預處理器,但我不知道如果數據無效,我需要做什麼。例如,說「電子郵件」是必須的。我將如何告訴用戶:「由於您沒有提供必填的電子郵件字段,請填寫」,然後我將用戶帶到配置文件設置頁面。在Facebook的應用程序
我的回調URL是:
http://localhost:3000/auth/facebook/callback
而且它的下面路線的NodeJS:
router.get('/auth/facebook/callback', passport.authenticate('facebook', {
successRedirect:'/wall',
failureRedirect:'/login'
}));
任何投入會有所幫助。
在此先感謝。
正是。我的問題是 - 如何將用戶重定向到具有該表單的特定頁面?我只看到successRedirect和failureRedirect。謝謝 –
我編輯了我的答案,檢查它。 – Gousia
嗨,夥計。我想我可能不清楚。我上面看到的是如何檢查變量是否提供。我看不出重定向是如何工作的。我一直在整個網站進行數據驗證,但我不知道如何根據提供的數據將用戶路由到特定頁面。我希望我現在清楚。謝謝 –