我正在根据以下教程构建基于谷歌登录的php webaplication:https://www.youtube.com/watch?v=oxa581kKBNg 一切都有效,只有一个例外:退出。
注销基于取消设置会话变量。 在此之后,应用程序将请求新的登录。
但是当我想再次登录时谷歌会假设我的最后一个帐户用于登录,我不会再次请求权限。
这也很难在不同的Google帐户之间切换。
如何强制我的注销忘记上次使用的(谷歌)帐户?
答案 0 :(得分:0)
我也遇到了这个问题,得出的结论是,没有API支持注销,这非常令人惊讶。
我们已通过将iframe插入隐藏的文档中并加载用户通常会访问的“退出”页面来解决此问题。这是一个非常糟糕的解决方案,但这是我发现可行的唯一方法。
从以下HTML创建iframe元素:
<iframe id="logoutframe" src="https://accounts.google.com/logout" style="display: none"></iframe>
(确切的操作方式取决于您的代码基础结构,无论您使用的是jQuery还是Dojo等javascript工具包)
将iframe dom节点添加到文档中的某个位置,它将为您处理注销。
我还发现,尚无明智的方法来检测用户是否已注销,因为iframe内容是异步运行的。如果在onLoad事件触发时销毁它,则该作业尚未完成,用户将保持登录状态。为避免轮询gapi身份验证系统以查看用户是否仍在登录,我只需等待两秒钟,然后假设注销已完成,然后销毁iframe。
来源:https://groups.google.com/forum/#!topic/google-api-javascript-client/PCs8xXV4wxk