gpt4 book ai didi

java - 限制谷歌帐户中用户的单个 session

转载 作者:行者123 更新时间:2023-11-30 06:37:53 25 4
gpt4 key购买 nike

是否可以强制谷歌为单个用户创建一个 session ?

我在 GAE 中创建了服务,它使用 google id 来验证用户。现在单个用户通过共享从多台 PC 创建多个 session 他的用户名/密码。我想限制这个。

用简单的语言来说,成功登录后应用程序应该退出所有其他应用程序此用户的 session 。

在 gmail 中,页面底部有一个名为上次 Activity 详细信息的链接。单击详细信息,它会显示当前 session ,并提供注销其他选项的选项 session 。我想要以编程方式实现相同的功能。

还有一种选择:登录前检测用户是否已经登录上?

看看这个

http://mail.google.com/support/bin/answer.py?ctx=%67mail&answer=45938

查看并发 session

如果可以以某种方式访问​​此信息,我可以采取适当的措施。

最佳答案

这当然是可能的。

如果您使用 Google 帐户进行身份验证,则用户通过向 Google 发布其凭据进行登录,Google 会向您的网站返回一个身份验证 token ,然后将其作为 cookie 存储在用户的浏览器中。在 cookie 过期(默认为 24​​ 小时)或用户注销之前, token 一直有效。

如果您想跟踪多个登录 session ,您可以编写设计为在登录或注销后运行的处理程序。如果您正常的登录后返回 URL 是“/do_stuff”,您可以将其更改为“/finish_login?next=%2Fdo_stuff”。在该处理程序中,您可以在表示 session 的数据存储区中创建一个实体,并引用 Google 帐户、登录的 IP 地址和登录时间戳(当前时间戳)。您可以将 session 实体 key 写入用户浏览器中的另一个 cookie。完成后,重定向到“下一个”URL。

注销后,您可以有一个类似的处理程序来检查 session 实体 key cookie、删除实体并删除 cookie。

如果您想向用户显示他们是从多个位置登录的,请查询与他们的 Google 帐户相关联且时间少于 24 小时的 session 实体(或您的 cookie 过期时间设置的任何值)。

如果您想远程注销另一个 session ,您可能需要编写您自己版本的 Google 在 webapp.util 中提供的 login_required 装饰器。您的版本需要验证用户是否已登录,验证是否发送了 session key cookie,并验证关联的实体是否仍然存在并且由正确的帐户拥有。

关于java - 限制谷歌帐户中用户的单个 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com