Приложението Facebook не работи за нови потребители

Разработих приложение за facebook в node js, което се хоства на heroku. Ще покаже някои от публичните данни на потребителите. Работи добре два дни, но от следващия ден показва грешка в приложението за нови потребители, но за потребителите, които вече са използвали приложението, работи добре. Не можах да разбера къде се крие проблемът, ако го стартирам локално с помощта на "foreman start" или "node web.js" Получавам съобщение "тази уеб страница има цикъл за пренасочване" само за нови потребители. Опитах го, като изтрих всички бисквитки и данни за уеб страници също дори тогава получих същото съобщение. Използвам "facebook-node-sdk" за свързване с Facebook и "ejs" за показване на уеб страницата и експрес за сървър.

Приложението изглежда така за стари потребители

Приложението се хоства тук

Не можах да намеря нищо и в регистрационните файлове. Може ли някой да ми помогне при решаването на този проблем.

Кодът на приложението:

var express = require('express');
var Facebook = require('facebook-node-sdk');
var app = express.createServer();
var pic;
var cover;
app.configure(function () {
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({ secret: 'password' }));
  app.use(Facebook.middleware({appId:'12345',secret:'12345'}));
});
app.set('view options', { layout: false });
app.set('view engine', 'ejs');
app.get('/', Facebook.loginRequired(), function (req, res) {
        req.facebook.api('/me?fields=picture.type(square)', function(err, pict) {
            pic=pict.picture.data.url;
        });
    req.facebook.api('/me?fields=cover',function(err,cover_pg){
        cover=cover_pg.cover.source;
        });
    req.facebook.api('/me', function(err, user) {
            res.render('home', {locals: {
        title:'Public-Profile', 
        user:user.name , 
            id:user.id, 
        gender:user.gender,
        hometown:user.hometown.name, 
        current:user.location.name,
        link:user.link,
        pic:pic,
        cover:cover
        }
        });
    });
}); 
var port = process.env.PORT || 5000;
app.listen(port, function() {
  console.log("Listening on " + port);
});

Кодът на файла ejs:

<html>
<head>
<title><%= title %></title>
</head>
<body>
<h3>This app is ment to show all your facebook public profile</h3>
<h3>Welcome:</h3>
<h3><img src=<%= pic %>> <%= user %>   </h3> 
<a href=<%= cover %> target="_blank"><img src=<%= cover %> height="200"></a>
<h3>Your Facebook Id:<%= id %></h3>
<h3>Gender:<%= gender %></h3>
<h3>Your home-town:<%= hometown %></h3>
<h3>Your Current-Location:<%= current %></h3>
<a href=<%= link %> target="_blank"><h2>Visit Your Profile</h2></a>
<br/><br/><br/><br/><br/><br/><br/><br/>
<p>--By Dinesh</p>
<p>This app is still under development it will be ready soon...</p>
</body>
</html>

person Dinesh Jasti    schedule 18.08.2013    source източник
comment
Мисля, че сте го задържали, защото не намерихте кода, затова добавих кода. Ако отговаря на описанието на проблема, уведомете ме, че ще предоставя необходимите подробности.   -  person Dinesh Jasti    schedule 18.08.2013


Отговори (1)


Тук имаме много опции за конфигуриране на удостоверяване във Facebook.

Използвайте Passport.js

http://passportjs.org/

Надявам се това да проработи..

person AmirtharajCVijay    schedule 24.08.2013