我正在使用jwt令牌在我的网站上进行用户身份验证,因此,一旦用户登录,我便将该令牌存储在localStorage中,并且我希望在我的chrome扩展程序中使用该令牌,以便在验证用户身份的同时使用扩展名。
我已经尝试过使用React侧的chrome.runtime.sendMessage
和Chrome侧的chrome.runtime.onMessageExternal.addListener
传递令牌来连接令牌,但这没用。
在manifest.json中,我指定了与我的网站进行通信的扩展名
"externally_connectable": {
"matches": ["http://localhost:3000/"]
}
// example from https://developer.chrome.com/extensions/messaging
// The ID of the extension we want to talk to.
var editorExtensionId = "abcdefghijklmnoabcdefhijklmnoabc";
// Make a simple request:
chrome.runtime.sendMessage(editorExtensionId, {openUrlInEditor: url},
function(response) {
if (!response.success)
handleError(url);
});
chrome.runtime.onMessageExternal.addListener(
function(request, sender, sendResponse) {
console.log('I'm here');
if (sender.url == blocklistedWebsite)
return; // don't allow this web page access
if (request.openUrlInEditor)
console.log(request.openUrlInEditor);
});
我认为未发送消息是因为我在控制台中没有看到任何内容,并且在chrome扩展程序中收到一条错误消息,提示“未捕获的错误:不推荐使用extension.sendRequest,extension.onRequest和extension.onRequestExternal。请改用runtime.sendMessage,runtime.onMessage和runtime.onMessageExternal。”但是我已经在使用建议的了。
我还尝试使用chrome.storage.sync.get
方法从扩展名访问localStorage,但无法使其正常工作。
请帮助,谢谢!