我有一个网站,我使用 Oauth 将用户登录到 Gmail,然后检索他们的联系人和其他信息。我需要做些什么来确保当用户注销我的网站时,他也会自动从 Gmail 中注销?
3 回答
据我所知,OAuth 中没有注销。您只需停止在应用程序和 Gmail 之间发送令牌即可。
这可能是 3-legged OAuth 流程的一个缺点。用户必须登录他们的帐户才能提供同意,但一旦他们提供同意,OAuth 流程就会将他们从 Gmail 中移除。由于用户在登录以提供同意与登录以发送/检查电子邮件时处于不同的心态,因此他们可能没有意识到在用户流返回给 OAuth 使用者后他们仍然保持登录状态。
我对 Gmail 以及 Yahoo 和 WindowsLive 有这个问题。
在没有标准的情况下,我正在考虑修改我网站上的用户体验,以使用户更清楚地知道他们仍然登录到他们的 Gmail 帐户,并且在他们主动退出之前一直保持登录状态。在这一点上,我最好的选择是在我网站上的 Gmail 图标旁边添加一个“退出”链接。此“退出”链接将启动(但)另一个弹出窗口以导航到 Gmail/Yahoo/WindowsLive 退出页面。
我不喜欢这种方法,如果我的“退出”链接可以在不需要弹出窗口的情况下将用户退出会更好。IE 我的应用程序将通过点击 OAuth 注销端点代表用户注销。
一种不太明确的方法是当用户点击我的“标志”时,将 gmail 注销页面 (https://mail.google.com/mail/u/0/?logout&hl=en) 加载到我网站上的隐藏 iframe 中出'链接。这将具有我所追求的用户体验。
不幸的是,打开 iframe 将不再适用于较新的浏览器。
Google 已开始阻止来自 iframe 的请求(youtube embed iframe 和任何其他官方支持的 iframe 除外)
http://groups.google.com/group/youtube-api/browse_thread/thread/2d2236731672a098
我不得不弹出一个窗口,将“action_logout”发布到 www.youtube.com(我想从中注销),然后关闭该弹出窗口。
对此并不十分满意,但似乎是迄今为止唯一的解决方案。