У меня возникла проблема с социальной регистрацией, потому что она не регистрируется после ее создания, как в локальной регистрации. При переадресации 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('/');
}
Может кто-нибудь помочь мне с этим ...Я что-то упускаю?
Заранее спасибо.
У меня очень похожая проблема. любая помощь ? – Chandru
@Chandru [здесь] (https://github.com/angular-fullstack/generator-angular-fullstack/issues/1450#issuecomment-162242064) вы найдете решение. –