当我转到localhost:3000并使用facebook按钮登录时,我收到此错误。
网址已阻止:此重定向失败,因为重定向URI不是 已在应用的客户端OAuth设置中列入白名单。确保客户端和 已启用Web OAuth登录,并将所有应用程序域添加为有效OAuth 重定向URI。
即使我没有在Facebook上登录,并且我尝试定向到Facebook登录,我也会得到一个空白页而不是
未登录:您尚未登录。请登录并重试。
这是我的身份验证模块的index.js:
'use strict';
const passport = require('passport');
const config = require('../config');
const h = require('../helpers');
const FacebookStrategy = require('passport-facebook').Strategy;
module.exports = () => {
passport.serializeUser((user, done) => {
done(null, user.id);
});
passport.deserializeUser((id, done) => {
//Find the user using the _id
h.findById(id)
.then(user => done(null, user))
.catch(error => console.log('Error when deserializing user'));
});
let authProcessor = (accessToken, refreshToken, profile, done) => {
// Find a user in the local db using profile.id
// If the user is found, return the user data using the done() method
// If the user is not found, create one in the local db and return
h.findOne(profile.id)
.then(result => {
if(result) {
done(null, result);
} else {
// Create a new user and return
h.createNewUser(profile)
.then(newChatUser => done(null, newChatUser))
.catch(error => console.log("Error when creating a new user"))
}
})
}
passport.use(new FacebookStrategy(config.fb, authProcessor));
这是我的config / development.json文件。我拿出了dbURI和fb clientID&的值。秘密,但在我的发展中,这些价值确实存在并且是从各自的供应商那里获得的。
{
"host": "http://localhost:3000",
"dbURI": "",
"sessionSecret": "catscanfly",
"fb": {
"clientID": "",
"clientSecret": "",
"calbackURL": "//localhost:3000/auth/facbeook/callback",
"profileFields": ["id", "displayName", "photos"]
}
}
答案 0 :(得分:0)
这一行: “calbackURL”:“// localhost:3000 / auth / facbeook / callback”
检查您的fb应用配置的网站。 我修改了我的hosts文件以使用local.mysite.com:3000而FB接受了。
编辑: 你解决了这个问题吗?