gpt4 book ai didi

javascript - 如何在我的 Chrome 扩展程序中授权用户?

转载 作者:行者123 更新时间:2023-12-03 10:52:12 24 4
gpt4 key购买 nike

我正在构建的是简单的 chrome 扩展,它将我的脚本添加到用户访问的所有页面,如下所示

在 contentscript.js 中:

var s = document.createElement('script');
s.src = 'https://localhost:3000/js/hack.js';
s.onload = function() {
this.parentNode.removeChild(this);
};
(document.head||document.documentElement).appendChild(s);

在rails后端有简单的登录密码和通过devise gem进行omniauth(oauth)授权。

如果我在 Rails 页面上授权,然后在 hack.js 中授权,我会尝试通过 XMLHttpRequest 对本地服务器进行一些 ajax 调用 - 它会尽力向我保证该用户未获得授权。

我打赌可以通过在某处打开不可见的 iframe 来解决这个问题,但这太痛苦了,可能有一些更方便的方法吗?

最佳答案

要执行授权请求,您可能必须在 XHR 中获取脚本,您可以在其中添加各种身份验证 header 。那么脚本可以是injected as inline code而不是提供 src

请注意,内容脚本可以为所有具有 host permissions 的网站执行跨域 XHR在 list 中,即使页面不允许这样做。

由于页面的内容安全策略可能会禁止在 src 中注入(inject)带有您的 URL 的脚本,但将其作为内联脚本注入(inject) sort of bypasses CSP ,无论如何,这是一个优越的方法。

关于javascript - 如何在我的 Chrome 扩展程序中授权用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28392285/

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