对此我还是很陌生,需要帮助。我正在建立一个登录,其中包括“使用Google登录”。
我具有以下Google身份验证,可用于登录PrivateRoute。为了使路由可访问,jwt令牌需要存储在本地(这不是通过Google创建的,而是在本地创建的令牌)。这是我的Google登录名:
router.get('/google', passport.authenticate('google', {
scope: ['email', 'profile']
}));
router.get('/google/redirect', passport.authenticate('google'), (req, res) => {
let user = req.user
console.log('user :', user);
const payload = {
user: {
id: user.id
}
}
jwt.sign(
payload,
keys.secret,
{
expiresIn: 2592000
},
(err, token) => {
res.redirect('/?code=' + token);
}
);
//redirect to front-end
res.redirect('/?code=' + token);
window.localStorage.setItem('bearer' + token)
});
但是我似乎无法存储它,这意味着从地址栏中获取它并将其存储在应用程序中。感谢您的帮助,非常感谢。
答案 0 :(得分:0)
最终,我在我的PrivateRoute中完成了
{localStorage.setItem("token", window.location.search.split("=")[1])}