отправить токен jwt с веб-страницы реакции на расширение chrome - PullRequest
0 голосов
/ 29 мая 2019

Я использую токен jwt для аутентификации пользователя на моем веб-сайте, поэтому, как только пользователь входит в систему, я сохраняю токен в localStorage и хочу, чтобы токен был в моем расширении chrome, чтобы пользователь также проходил аутентификацию используя расширение.

Я пытался передать токен, используя chrome.runtime.sendMessage на стороне реакции и 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: «Uncaught Error: extension.sendRequest, extension.onRequest и extension.onRequestExternal устарели. Пожалуйста, используйте взамен runtime.sendMessage, runtime.onMessage и runtime.onMessageExternal. " Но я уже использую предложенные.

Я также пытался использовать метод chrome.storage.sync.get для доступа к localStorage из расширения, но не смог заставить его работать.

Пожалуйста, помогите, заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...