fre*_*all 6 javascript authentication google-chrome google-chrome-extension
我们有一个文件共享服务http://ge.tt和一些 Chrome 扩展程序。其中之一为 Gmail 添加了额外的功能。
在此扩展中,我们要求用户先登录 Ge.tt,然后才能使用该扩展。由于他们已经登录了 Ge.tt,所以他们不必再次登录就太好了,这会导致一些用户误解其工作原理。
解决这个问题的好方法是什么?其他人也有同样的问题吗?
例如 Grammarly 扩展可以检测您是否登录了 Grammarly 站点
他们正在使用此权限(实际上它在所有网站上都已启用,他们甚至可以在任何网站上读取 httpOnly cookie)
注意,他们不知道为什么他们要侦听 cookie,他们可以(如 @alex-k 指出的那样)只发出请求api.grammarly.com/is-authenticated
因为我发现他们不使用 same-site=strict 或 lax
这是我注销后的屏幕截图,扩展程序请求在其网站上记录某些操作,服务器将anonymouscookie 设置到我的浏览器
您可以简单地从扩展程序向仅限用户的页面发出 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/*" ]
...
Run Code Online (Sandbox Code Playgroud)