Получить API с использованием авторизации JWT - PullRequest
0 голосов
/ 30 января 2019

Мой запрос доступа EdX API был одобрен.Согласно документации, я создал идентификатор клиента и секрет клиента на веб-сайте администратора.Используя «FETCH», я получил токен из https://api.edx.org/oauth2/v1/access_token URL-адреса, передав идентификатор клиента и его секрет.Этот токен является действительным, и я вижу его на своей консоли.Затем, когда я передаю этот токен как:

fetch("https://api.edx.org/catalog/v1/catalogs", 
  {
          method:"GET",
           headers: {
          "Authorization": "JWT "+token,
       "Access-Control-Allow-Origin":"http://localhost:3000"
                  }
        })
 then(r=>r.json())
            .then(res=>console.log("SUCCESS "+res.count))
            .catch(err=>console.log("ERROR  "+err));

, я получаю ошибку 403 (Запрещено).Я перепробовал все варианты запроса, такие как учетные данные: true, все заголовки «Allow-control» и т. Д., Но эта ошибка сохраняется.После использования инструментов разработчика в Chrome на вкладке «Сеть» отображается совершенно другая выборка, а именно: fetch ("https://api.edx.org/catalog/v1/catalogs", {" credentials ":" omit "," referrer ":" http://localhost:3000/","referrerPolicy":"no-referrer-when-downgrade","body":null,"method":"GET","mode":"cors"});

Эквивалентный "curl" работает в командной строке или через Insomnia и отлично получает данные. Я всю неделю пытался решить эту проблему и не вижу решения. Пожалуйста, помогите этому новичку.

Спасибо

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