我正在实施 Google One Tap,但我不明白如何获取已经授权我的应用程序刷新或关闭窗口并再次重新打开它的用户的 ID。我的控制台是空的,但我可以看到 Google 对他进行了身份验证。这是我的 Google One Tap 代码:
window.onload = function () {
google.accounts.id.initialize({
client_id: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com',
auto_select: true,
callback: data => handleCredentialResponse(data),
state_cookie_domain: 'https://www.healxxxxxxxx.cm',
});
google.accounts.id.prompt((notification) => {
if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
// try next provider if OneTap is not displayed or skipped
}
});
}
function handleCredentialResponse(response) {
//console.log(response)
user = parseJwt(response.credential);
console.log("ID: " + user.sub);
console.log('Full Name: ' + user.name);
console.log("Email: " + user.email);
console.log(JSON.stringify(parseJwt(response.credential)));
}
该代码应该询问页面的身份验证加载。一旦用户授权应用程序获取信息,我就可以通过函数 handleCredentialResponse 看到它们。但是当重新加载已经给出的页面和授权时,我如何获取用户的数据?
如果我看到会话,关闭浏览器将抛出所有信息。如果我使用 cookie,我将无法在其他浏览器上使用它。那么如何读取已经授权我的应用的已连接用户的数据呢?