首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何管理google登录会话(Google登录JavaScript客户端)

如何管理google登录会话(Google登录JavaScript客户端)
EN

Stack Overflow用户
提问于 2015-06-26 13:50:46
回答 1查看 5.3K关注 0票数 1

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

签到和签出都很好。我的问题是,没有服务器端,我不知道如何管理其他页面上的会话。

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

对我来说也不太好。我不想让谷歌登录按钮在每一页。如果我删除了“auth2.attachClickHandler.”部分代码不起作用。

我所要做的就是在其他页面中(而不是在带有google按钮的页面中)显示用户是否仍在连接。你能帮帮我吗?

编辑:我尝试了答案中建议的以下代码,但我得到了一个错误:“未定义的TypeError:无法读取未定义的属性'init‘”

代码:

代码语言:javascript
运行
复制
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
    }
}); 
EN

回答 1

Stack Overflow用户

发布于 2015-06-30 22:13:29

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

代码语言:javascript
运行
复制
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
  }
});

在此解决方案中,只有当用户未登录时才显示“登录”按钮。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31074986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档