使用Cookie刷新时保持用户登录



我试图使它,使谷歌OAuth用户不必登录每次刷新页面。我存储了一个cookie,用于保存登录令牌,并在页面加载时进行检查。但是,当页面刷新时,它仍然会让用户登录。我已经附上了下面处理登录的函数,但是如果你想看到HTML和JS的完整代码,我也附上了这些。如果有人能帮忙,我将不胜感激。

登录功能:https://pastebin.com/6rguG783

function handleAuthClick() {
tokenClient.callback = async (resp) => {
if (resp.error !== undefined) {
throw (resp);
}
await listUpcomingEvents();
};

if (document.cookie === null) {
tokenClient.requestAccessToken({prompt: 'consent'});
} else {
tokenClient.requestAccessToken({prompt: ''});
}
setTimeout(() => document.cookie = `token=${gapi.client.getToken()}; expires=Tue, 19 Jan 2038 04:14:07 GMT`, 20000);
}

完整JS: https://pastebin.com/7vcaqZXG

完整HTML: https://pastebin.com/eDyT4N2X

您可以使用本地存储而不是像这样的cookie

window['localStorage'].setItem('token', gapi.client.getToken()).

相关内容

  • 没有找到相关文章

最新更新