如何切换用户? Google登录网站

时间:2016-03-01 13:28:30

标签: google-signin

我想使用谷歌登录我的应用程序。一些工作站在多个用户之间共享,因此在用户之间快速切换的能力非常重要。

登录按钮似乎允许这样做。即,如果用户是"已登录",则单击登录按钮会显示"选择帐户"对话框。

只需在每个页面上显示按钮,即可实现此快速更改功能。

然而,问题在于成功"每次加载页面时都会触发事件。这意味着每次页面加载时我都会进行身份验证和创建会话。这似乎效率低下。

是否有一个事件可以让我区分用户是否已明确登录与谷歌检查以确定用户是否已登录?

根据文档,代码如下。我已经阅读了API文档,无法弄清楚。

由于

<script src="https://apis.google.com/js/platform.js" async defer></script>
<script>
function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  alert('Email: ' + profile.getEmail());
}
</script>
<meta name="google-signin-client_id" content="173138624956-ajom95asqea9p8f3ob0ntjvaalhf5r99.apps.googleusercontent.com">


<div class="g-signin2" data-onsuccess="onSignIn"></div>

1 个答案:

答案 0 :(得分:1)

您正在使用非常基本的声明性描述流here。这基本上自动检测class="g-signin2",如果可能的话,呈现按钮并签署用户 - 无需任何选择。

您可以通过使用描述here的命令流来实现您想要的(后半部分更为重要)。
通过使用此方法,您可以手动检查用户是否已登录并在需要时呈现按钮,让用户登录或按需注销。