gpt4 book ai didi

javascript - 如何管理 Google 登录 session (Google 登录 JavaScript 客户端)

转载 作者:行者123 更新时间:2023-11-28 00:09:04 30 4
gpt4 key购买 nike

我正在尝试使用他们的新 API 实现 google 登录:https://developers.google.com/identity/sign-in/web/

登录和注销工作正常。我的问题是我不知道如何在没有服务器端的情况下管理其他页面上的 session 。

所以我尝试了这个代码 - https://developers.google.com/identity/sign-in/web/session-state

而且它对我来说效果不佳。我不想在每个页面上都有谷歌登录按钮。如果我删除“auth2.attachClickHandler..”部分,整个代码将不起作用。

我想要的只是在其他页面(而不是在带有谷歌按钮的页面)中指示用户是否仍然连接。你能帮我吗?

编辑:我尝试了答案中建议的以下代码,但收到一条错误:“未捕获的类型错误:无法读取未定义的属性‘init’”

代码:

var auth2 = gapi.auth2.init({
client_id : 'ID.apps.googleusercontent.com'
});
auth2.then(function() {
var isSignedIn = auth2.isSignedIn.get();
var currentUser = auth2.currentUser.get();
if (isSignedIn) {
console.log("signed in");
// User is signed in.
// Pass currentUser to onSignIn callback.
} else {
console.log("NOT signed in");
// User is not signed in.
// call auth2.attachClickHandler
// or even better call gapi.signin2.render
}
});

最佳答案

您可以在所有页面加载gapi.auth2并调用:

var auth2 = gapi.auth2.init(...);
auth2.then(function() {
var isSignedIn = auth2.isSignedIn.get();
var currentUser = auth2.currentUser.get();
if (isSignedIn) {
// User is signed in.
// Pass currentUser to onSignIn callback.
} else {
// User is not signed in.
// call auth2.attachClickHandler
// or even better call gapi.signin2.render
}
});

在此解决方案中,仅当用户未登录时才会显示登录按钮。

关于javascript - 如何管理 Google 登录 session (Google 登录 JavaScript 客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31074986/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com