Настройка аутентификации для Oracle ORDS RESTful API - Невозможно получить токен доступа - HTTP-статус 401 "Неавторизован"

Я пытаюсь следовать руководству Oracle-Base Oracle Rest Data Service (ORDS) Authentication, чтобы настроить аутентификацию на основе учетных данных клиента OAuth2 для образца ORDS API. Я дошел до попытки получить токен доступа под OAuth: Client Credentials, но я получаю "401 Unauthorized" вместо ожидаемого "200 OK" в примере.

Я использую приведенную ниже команду cURL, чтобы получить токен доступа. Обратите внимание, что я заменил идентификатор клиента OAuth и секрет клиента; также schemaalias отличается. В остальном команда максимально идентична примеру в учебнике.

curl -i -k --user clientIdEtc..:clientSecretEtc.. --data "grant_type=client_credentials" http://localhost:8080/ords/schemaalias/oauth/token

Я проверил, что API работает, когда не настроена аутентификация.

Поскольку я работаю в образце среды, я подключаюсь через HTTP вместо HTTPS. Я выполнил инструкции по разрешению OAuth через HTTP в начале руководства, и если бы я этого не сделал, я ожидал бы ошибку 403 Forbidden.

Я дважды проверил различные артефакты, включая роли ORDS, привилегии, привилегии для ассоциаций ролей, сопоставления привилегий, клиентов, клиентские привилегии и клиентские роли, и, насколько я могу судить, они совпадают.

Я работаю с ORDS версии 18.1.1.95.1251, и она развернута с WebLogic Server 12c.

В зависимости от того, где причина проблемы:

  • Как мне подключиться так, чтобы запрос токена доступа был авторизован, или
  • Что-то не хватает в учебнике или я, вероятно, пропустил?

1 ответ

Решение

Я обнаружил, что использовал неправильный номер порта (например, http://localhost:8080 вместо http://localhost:7002).

Другие вопросы по тегам