Не удалось получить токен доступа для моей службы API okta через почтальона

Я пишу бэкэнд весенней загрузки на java, конечные точки которого защищены okta. Приложение использует интеграцию с сервисным приложением okta api, поскольку только внешний интерфейс и никогда пользователь не извлекает данные из него.

Чтобы получить действительный токен доступа из API okta, я выполнил следующие шаги: https://developer.okta.com/docs/guides/implement-grant-type/clientcreds/main/#request-for-token

К сожалению, все мои попытки приводят к ошибке.

Моя конфигурация почтальона:

Конечная точка Okta API: https://dev-61814681.okta.com/oauth2/default/v1/токен

Метод аутентификации: Базовая аутентификация с идентификатором клиента в качестве имени пользователя и секретом клиента в качестве пароля

Заголовки:

accept = application/json
cache-control = no-cache
content-type = application/x-www-form-urlencoded

Кузов:

grant-type = client_credentials
scope = MyDefault

Ответ: ошибка 400, неверный запрос

Было бы неплохо, если бы кто-то мог подтолкнуть меня в правильном направлении с этим.

Не могли бы вы показать результирующий запрос (без заголовка авторизации)? Это может помочь понять, что с ним не так. Если вы делаете это в Postman, вы должны просто получить команду cURL для своего запроса.

Philipp Grigoryev 15.02.2023 14:55

Curl --location 'dev-61814681.okta.com/oauth2/default/v1/token' \ --header 'accept: application/json' \ --header 'cache-control: no-cache' \ - -header 'тип содержимого: application/x-www-form-urlencoded' \ --header 'Авторизация: Basic MG9h[...]OQ==' \ --header 'Cookie: DT=DI1tM8NGUbgTbO9pYl_O16rEA; JSESSIONID=C1CEE3CAB5B197C225A8928586850E9E; t=default' \ --data-urlencode 'grant_type=client_credentials' \ --data-urlencode 'scope=MyDefault'

Leon Winter 15.02.2023 15:09

<html> <head><title>400 неверный запрос</title></head> <body> <center><h1>400 неверный запрос</h1></center> </body> </html>

Leon Winter 15.02.2023 15:09
Лучшая компания по разработке спортивных приложений
Лучшая компания по разработке спортивных приложений
Ищете лучшую компанию по разработке спортивных приложений? Этот список, несомненно, облегчит вашу работу!
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Что такое Java 8 Streams API? Java 8 Stream API
Деревья поиска (Алгоритм4 Заметки к учебнику)
Деревья поиска (Алгоритм4 Заметки к учебнику)
(1) Двоичные деревья поиска: среднее lgN, наихудшее N для вставки и поиска.
1
3
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это должно быть grant-type вместо того, что вы написали (крупным шрифтом).

Кроме того, убедитесь, что вы определили область «MyDefault» в своем приложении API Okta и что у него есть необходимые разрешения для вашего клиента для доступа к конечным точкам, которые ему требуются.

Надеюсь, опечатка решит проблему в этом случае.

Исправил опечатку, но ничего не изменилось. Область MyDefault определяется следующими параметрами: UserConsent = No, BlockServices = No, DefaultScope = No, MetadataPublish = Yes.

Leon Winter 15.02.2023 13:30
Ответ принят как подходящий

Я смог решить свою проблему, выполнив следующие действия:

Я взял cURL, изображенный на https://developer.okta.com/docs/guides/implement-grant-type/clientcreds/main/#request-for-token

После этого я вставил свой домен Okta, добавил свою авторизацию (идентификатор клиента и секрет клиента, записанные в одной строке, разделенные ':' и закодированные как base64) и обновил область действия с customScope на мою собственную пользовательскую область.

Я импортировал все это в почтальон, нажав кнопку импорта и вставив необработанный текст.

Теперь все работает нормально.

Вы видите разницу сейчас в вашем теле?

Philipp Grigoryev 15.02.2023 16:15

Да спасибо. Вы указали мне правильное направление.

Leon Winter 15.02.2023 16:36

Обратите внимание, что вы используете здесь «customScope», но когда вас спросили, вы сказали, что «MyDefault» — это ваша текущая конфигурация. Именно поэтому раньше он вообще не выдавал никаких полезных ошибок.

Kreetchy 17.02.2023 12:48

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