В настоящее время я работаю на веб-сайте Angularjs, который использует JWT (токены json web), чтобы проверить, зарегистрирован ли кто-либо или нет. Теперь я хочу добавить некоторые методы входа «одним щелчком», используя паспорт/oauth, но мне трудно понять, как я могу передать данные для входа обратно в angularjs.Использование паспорта oauth в angularjs с JWT
Когда я Войти с электронной почтой/пароль, сгенерировать маркер и передать его обратно в угловой:
var token = jwt.sign({ _id: user._id.toString() }, JWT_SECRET);
return res.json({
userID: user._id.toString(),
username: user.username,
isAdmin: user.isAdmin,
token: token
});
И маркер используется для проверки входа в систему. Когда вы проходите через oauth, вы должны покинуть сайт, а затем вернуться, поэтому я не могу просто вернуть некоторый токен из ajax таким же образом.
Я думал, что это может сработать, чтобы добавить его в мой проверочный звонок (когда кто-то обновляет веб-сайт, я запускаю чек, чтобы проверить, вошли ли они в систему уже). Это проверяет токен и возвращает правильные пользовательские данные. Есть ли способ проверить, зарегистрирован ли паспорт уже здесь? Мой проверить код выглядит следующим образом (JWT автомагически устанавливает маркер информации к req.user):
Schemas.User.findOne({ _id: req.user._id }, function (err, user) {
if (err || !user) { return res.send(401); }
return res.json({
userID: user._id.toString(),
username: user.username,
isAdmin: user.isAdmin
});
});