У меня появляется это сообщение, когда я пытаюсь подключиться к Facebook platefirme с помощью моего приложения по паспорту js. Это сообщение:
Приложение не настроено: это приложение находится в стадии разработки, и вы не можете получить к нему доступ. Используйте авторизованную тестовую учетную запись пользователя или обратитесь к администратору приложения для получения прав доступа. У кого-то есть идея, как решить эту проблему, пожалуйста? Это из-за конфигурации платформы (разработчика facebook) или конфигурации моего приложения?
Вот мой код:
/*******************FACEBOOK AUTH*************************/
passport.use(
new FacebookStrategy({
// options for facebook strategy
clientID: XXXXXXXXXXXXXXXXXX,
clientSecret: "XXXXXXXXXXXXXXXXXXXXX",
callbackURL: "http://localhost:3001/auth/facebook/callback",
profileFields : ['id', 'displayName', 'email']
}, (accessToken, refreshToken, profile, done) => {
// passport callback function
console.log('passport callback function fired:');
console.log(profile);
if(profile!==null){
var id = profile.id;
var email = profile.email;
console.log(id);
console.log(email);
var strfullname = profile.displayName;
var fullname = strfullname.split(/(\s+)/);
var nom = fullname[2];
var prenom = fullname[0];
console.log("nom "+ nom);
console.log("prenom "+ prenom);
Account.findOne({'email' : email},function (err, account){
if(err){
console.log(err);
done(err);
}
if(account){//exist
if(err){
console.log(err);
done(err);
}
else {//get account
console.log('currentAccount');
//check if enable = true
if(account.enable===true){
//send token
try{
jwt.sign({
account
},config.secretKey,
(err,token)=>{
if(err){
done(err)
}
else{
done(null,token);
}
});
}
catch(e){
done(err);
}
}else{
done("This account is disabled, please contact support for more information",null);
}
}
}
else{//new account
if(err)
{
console.log(err);
done(err);
}
const account = new Account({
email : email,
nom : nom,
acceptCGU : true,
prenom : prenom,
facebook : {
id : id,
email : email,
name : strfullname
}
});
//save data
account.save((err => {
if(err){
console.log(err);
done(err);
}
else{
console.log('newaccount');
//send email
var smtpTransport = nodemailer.createTransport({
service : 'gmail',
auth : {
user : "xxxxx.xxxxx@gmail.com",
pass : "xxxxxxxxx"
}
});
var mailOptions = {
to : email,
from : "xxxxx.xxxxx@gmail.com",
subject : "Bienvenue chez XXXXX !",
text : "Bienvenue chez xxxxxx ! \n \n Votre compte : "+email+" a bien été créé. \n \n Nos dernières offres exclusives n'attendent plus que vous sur notre site xxxxx.\n A bientôt ! \n \n L'équipe XXXX"
}
smtpTransport.sendMail(mailOptions,function(err){
if(err){
res.status(400);
resultats = {
"success": false,
"message": 'Error : '+ err,
"result": ''
}
res.json(resultats);
}
else{
//send token
try{
jwt.sign({
account
},config.secretKey,
(err,token)=>{
if(err){
done(err)
}
else{
done(null,token);
}
});
}
catch(e){
done(err);
}
}
});
}
}));
}
});
}
})
);
И маршруты:
/*******************FACEBOOK AUTH ROUTES********************* */
// auth with faceboook
router.get('/auth/facebook', passport.authenticate('facebook'));
// callback route for facebook to redirect to
// hand control to passport to use code to grab profile info
router.get('/auth/facebook/callback*', passport.authenticate('facebook'), (req, res) => {
if(req.user){
res.cookie('token', req.user);
return res.redirect("http://localhost:3000");
}
else{
console.log('error');
return res.redirect("http://localhost:3000");
}
});