4

我们有一个文件共享服务http://ge.tt和一些 Chrome 扩展。其中之一为 Gmail 添加了额外的功能。

在这个扩展中,我们要求用户在他们能够使用扩展之前登录到 Ge.tt。由于他们已经在 Ge.tt 上登录,因此不必再次登录就太好了,这会导致一些用户误解它的工作原理。

什么是解决这个问题的好方法?其他人有同样的问题吗?

4

2 回答 2

4

例如,语法扩展可以检测您是否登录到语法站点

他们正在使用此权限(实际上它在所有站点上都启用了,他们甚至可以在任何站点上读取 httpOnly cookie)

在此处输入图像描述

在此处输入图像描述

NB 不知道他们为什么要监听 cookie,他们可以(如 @alex-k 所指出的)只是向api.grammarly.com/is-authenticated

因为我看到他们不使用 same-site=strict 或 lax

这是我注销后的屏幕截图,扩展程序请求在他们的网站上记录一些操作,服务器将anonymouscookie 设置到我的浏览器

在此处输入图像描述

于 2020-10-18T14:02:14.570 回答
3

您可以简单地从扩展程序向仅用户页面发出 HTTP 请求,以查看他们是否已登录。如果用户已登录,则ge.tt/my-profile-ping返回类似的内容,否则。10

扩展程序与浏览器共享相同的 cookie,因此您只需要测试它们是否已登录并继续在您的扩展程序中显示仅登录数据。

另外,不要忘记在您的扩展清单中为域 ge.tt 和 www.ge.tt 启用请求,可能还有 https 版本(如果您还没有)

像这样的东西在你的manifest.json

...
"permissions": [ "http://ge.tt/*", "https://ge.tt/*", "http://www.ge.tt/*", "https://www.ge.tt/*" ]
...
于 2012-09-04T13:29:05.920 回答