我试图使它,使谷歌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()).