Google登录令牌到本地存储(反应)

时间:2020-02-18 19:22:05

标签: reactjs authentication

对此我还是很陌生,需要帮助。我正在建立一个登录,其中包括“使用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)
});

但是我似乎无法存储它,这意味着从地址栏中获取它并将其存储在应用程序中。感谢您的帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

最终,我在我的PrivateRoute中完成了

{localStorage.setItem("token", window.location.search.split("=")[1])}