2016-11-10 5 views
0

Есть ли способ разместить оповещение авторизации в запросе URL-адреса? Локон команда получить доступ к своему API заключается в следующем:Удостоверение авторизации в запросе URL-адреса с использованием диспетчера API WSO2

локон -X GET --header 'Accept: приложение/XML' 'Авторизация: однонаправленного ebcd41ac-3466-3262-8c8e-3c73c987dbde' --header 'https://gateway.api.cloud.wso2.com:443/t/jab7180/prod/1.0.0/inquire/promos/IBM'

Но если я использую запрос URL в браузере с помощью https://gateway.api.cloud.wso2.com:443/t/jab7180/prod/1.0.0/inquire/promos/IBM, я получаю сообщение об ошибке:

код = 900902 сообщения: Missing учетных данных Описание: учетных данные OAuth не предусмотрены. Убедитесь, что ваш вызов вызова API имеет заголовок: «Авторизация: Bearer ACCESS_TOKEN»

Надеюсь, вы можете мне помочь, потому что я хочу получить доступ к моему API только через браузер, а не с помощью команды curl. Благодарю.

ответ

0

API Manager использует org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler для аутентификации запросов к шлюзу с использованием токенов аутентификации OAuth. Чтобы изменить это поведение, у вас есть три варианта:

  1. Удалить обработчик проверки подлинности из вашего определения API на шлюзе (или из шаблона скорости, применимого ко всем публикациям API).
  2. Создайте собственный обработчик проверки подлинности и замените обработчик проверки подлинности по умолчанию в определениях API и/или шаблоне скорости. См.: https://docs.wso2.com/display/AM200/Writing+Custom+Handlers
  3. Создайте новый обработчик, который берет параметр строки запроса авторизации и добавляет значение в заголовки входящего запроса. Добавьте этот обработчик до обработчик проверки подлинности в рабочий процесс обработчика для вашего API.

Это, как говорится, почему вы хотите это сделать? Существует несколько доступных графических интерфейсов, которые делают отправку HTTP-запросов так же прямолинейно, как использование браузера (https://www.getpostman.com/), поэтому, если у вас нет веских оснований для изменения этого поведения, вы, вероятно, не должны этого делать.

+0

Спасибо за это, и вы правы. Есть много графических интерфейсов, которые отправляют HTTP-запрос так же, как браузер. Для моей проблемы я использовал SoapUI для отправки запроса REST с заголовком aurhorization. – Jake

+0

Ваш браузер просто отправляет HTTP-запросы очень конкретно, вы искали ПОЛУЧИТЬ что-то с большим количеством ОПЦИЙ :) – Kjata30