Google登录按钮 - 如何在使用重定向流时在服务器上获取id_token

时间:2017-06-23 20:24:35

标签: google-signin federated-identity

我在我的网站上添加了“使用Google登录”联合登录按钮。对于桌面我正在使用弹出窗口,其效果如下:

load carsmall;
bh = boxplot(MPG);
set(gca,'FontSize',16);
set(bh,'LineWidth', 2);

然而,在移动设备上,我们希望使用重定向而不是弹出窗口,因为在移动浏览器中单独的选项卡有点尴尬。我只是改为:

gapi.auth2.init();
gapi.auth2.getAuthInstance().signIn().then(function(user) {
  var id_token = user.getAuthResponse().id_token;
  // ajax call to pass this to server
});

这有效,但它添加了我需要的id_token作为哈希片段,服务器无法看到。它最终在:

gapi.auth2.init({
  ux_mode: 'redirect',
  redirect_uri: 'http://example.com/google_login/'
});

我想我可以渲染带有脚本标签的连接器页面拉出window.location.hash并将其作为查询参数重定向到自身,但看起来很疯狂我必须这样做。还有更好的方法吗?

0 个答案:

没有答案