0

У меня возникла проблема с социальной регистрацией, потому что она не регистрируется после ее создания, как в локальной регистрации. При переадресации api/users/me недоступен .. неавторизованный (401), отличный от того, что я получаю в локальной регистрации, который перенаправляет информацию пользователя.Зарегистрироваться с помощью социальной регистрации (facebook) и аутентифицировать ее генератор угловых ползунков

в Facebook/index.js У меня по умолчанию получает

.get('/', passport.authenticate('facebook', { 
    scope: ['email', 'user_about_me'], 
    failureRedirect: '/signup', 
    session: false 
    })) 

    .get('/callback', passport.authenticate('facebook', { 
    failureRedirect: '/signup', 
    session: false 
    }), auth.setTokenCookie); 

и auth.service.js У меня есть функции по умолчанию

function isAuthenticated() { 
    return compose() 
    // Validate jwt 
    .use(function(req, res, next) { 
     // allow access_token to be passed through query parameter as well 
     if (req.query && req.query.hasOwnProperty('access_token')) { 
     req.headers.authorization = 'Bearer ' + req.query.access_token; 
     } 
     validateJwt(req, res, next); 
    }) 
    // Attach user to request 
    .use(function(req, res, next) { 
     User.findByIdAsync(req.user._id) 
     .then(function(user) { 
      //user here is undefined, it shouldn't be. i want to find out why. 
      if (!user) { 
      return res.status(401).end(); 
      } 
      req.user = user; 
      next(); 
     }) 
     .catch(function(err) { 
      return next(err); 
     }); 
    }); 
} 

function signToken(id, role) { 
    return jwt.sign({ _id: id, role: role }, config.secrets.session, { 
    expiresInMinutes: 60 * 5 
    }); 
} 

/** 
* Set token cookie directly for oAuth strategies 
*/ 
function setTokenCookie(req, res) { 
    if (!req.user) { 
    return res.status(404).send('Something went wrong, please try again.'); 
    } 
    var token = signToken(req.user._id, req.user.role); 
    res.cookie('token', token); 
    res.redirect('/'); 
} 

Может кто-нибудь помочь мне с этим ...Я что-то упускаю?

Заранее спасибо.

+0

У меня очень похожая проблема. любая помощь ? – Chandru

+0

@Chandru [здесь] (https://github.com/angular-fullstack/generator-angular-fullstack/issues/1450#issuecomment-162242064) вы найдете решение. –

ответ

0

У меня была аналогичная проблема. Я изменил код Angular full-stack с настраиваемым URL-адресом.

https://github.com/kannach/AFSPhonegap/blob/master/client/components/services/config.service.js

Я тестировал логин facebook в локальном хосте, в то время как мой бэкенд URL указывал на мой рабочий сервер. Как только я включил привязку к локальному хосту, все работало, как ожидалось.

+0

вы можете взглянуть на ссылку, которую я разместил выше ... вот в чем проблема, с которой я столкнулся. (извините за задержку ответить ...) –