Настройка аутентификации для 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).