Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人成功地在PHP中实现了google identity toolkit吗?_Php_Git_Api_Openid_Google Openid - Fatal编程技术网

有人成功地在PHP中实现了google identity toolkit吗?

有人成功地在PHP中实现了google identity toolkit吗?,php,git,api,openid,google-openid,Php,Git,Api,Openid,Google Openid,我正在尝试用PHP和Javascript实现GoogleIdentity工具包 我已经定义了7个案例 回调Url:登录Url:用户状态注册Url:注销Url:主页Url:忘记的Url: 还有这个小部件,并得到了一个api密钥..我正在尝试做与下面google提供的示例相同的功能 我在让谷歌验证我的登录时遇到了一个问题。我的验证断言(用php中的curl完成)或 这就是我遇到的问题: 谷歌有一个小部件,它首先向你显示一个带有按键图标的登录,你点击它,然后你选择一个谷歌帐户或雅虎或其他任何东西(这

我正在尝试用PHP和Javascript实现GoogleIdentity工具包

我已经定义了7个案例 回调Url:登录Url:用户状态注册Url:注销Url:主页Url:忘记的Url:

还有这个小部件,并得到了一个api密钥..我正在尝试做与下面google提供的示例相同的功能

我在让谷歌验证我的登录时遇到了一个问题。我的验证断言(用php中的curl完成)或

这就是我遇到的问题: 谷歌有一个小部件,它首先向你显示一个带有按键图标的登录,你点击它,然后你选择一个谷歌帐户或雅虎或其他任何东西(这部分都可以) 例如,您使用您的google帐户,然后出现一个弹出窗口,GIT执行他的魔术(将对您的回调url进行回调),然后根据您的回调响应重定向到您的站点帐户loggedin或error。 在这种情况下会发生什么?它实际上会重定向到我的站点帐户loggedin,但小部件没有显示我实际上是loggedin。而不是谷歌的示例页面。。 它仍然显示密钥签名小部件

我正在做一些事情,我不知道如何解决它

这里有更多来自谷歌的参考资料。它有点没有文档化(createAuthUrl我甚至没有用过它..不知道它的用途)

我已经在示例中使用EasyRpService实现了verifyAssertion 值得注意的是,响应为NULL,HTTP错误代码也为NULL。没有4xx或200


有人实现了吗?

小部件不会自动更新。您需要做两件事:

1) 确保在身份验证后更新登录用户。登录后的主页上应该有一段javascript代码,如:

<script type="text/javascript">
  var userData = {
    email: 'name@idp.com', // required
    displayName: 'User Name', // optional
    photoUrl: 'http://website.com/img/user.png', // optional
  };
  window.google.identitytoolkit.updateSavedAccount(userData);
</script>

var userData={
电邮:'name@idp.com“,//必需
displayName:'用户名',//可选
photoUrl:'http://website.com/img/user.png“,//可选
};
window.google.identitytoolkit.updatesavedcount(userData);
这将确保用户详细信息位于浏览器的本地存储中,这是帐户选择器在下次登录时显示其详细信息所必需的

此外,要在小部件中显示登录的用户,需要在初始化小部件时调用showSavedAccount

<script type='text/javascript'>
  window.google.identitytoolkit.showSavedAccount("logged-in-user@domain.com");
  $("#navbar").accountChooser();
</script>
<div id="navbar"></div>

window.google.identitytoolkit.showSavedAccount(“已登录-user@domain.com");
$(“#navbar”).accountChooser();
<script type='text/javascript'>
  window.google.identitytoolkit.showSavedAccount("logged-in-user@domain.com");
  $("#navbar").accountChooser();
</script>
<div id="navbar"></div>