"Отсутствует параметр типа предоставления" в вызове конечной точки делегирования Auth0
Я пытаюсь вызвать (POST) конечную точку делегирования Auth0 от Postman со следующим запросом, как предложено Auth0:
Content-Type: 'application/json'
{
"client_id": "{CLIENT_ID}",
"grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer",
"id_token": "{YOUR_ID_TOKEN}",
"target": "lwTL1rYVfC0KsBUFPeKWY3HvGjbIgdDM",
"api_type": "salesforce_api",
"scope": "openid"
}
Я получаю эту ошибку, даже если параметр grant_type включен в запрос выше:
{
"error": "invalid_request",
"error_description": "Missing grant_type parameter"
}
Что я здесь не так делаю?
1 ответ
Из новых документов Auth0, соответствующих требованиям OIDC:
Делегация
Учитывая, что токены ID больше не должны использоваться в качестве токенов API и что токены обновления должны использоваться только в конечной точке токена, эта конечная точка теперь считается устаревшей.
На данный момент не существует OIDC-совместимого механизма для получения сторонних токенов API. Чтобы упростить постепенный переход к новому конвейеру аутентификации, делегирование все еще можно использовать для получения сторонних токенов API. Это будет устаревшим в будущих выпусках.
Кроме того, из документа Auth0 " Использование AWS с документами токенов":
Типы Грантов Наследия
С 8 июня 2017 года новые клиенты Auth0 не могут добавлять к своим клиентам какие-либо устаревшие типы грантов, которые требуются для использования с конечной точкой делегирования. Устаревшие типы грантов доступны только для предыдущих клиентов, когда они переходят на новые потоки, чтобы избежать серьезных изменений. Чтобы найти безопасную альтернативу для вашего случая, см. Безопасные альтернативы устаревшим типам грантов.
Продолжение чтения из раздела Безопасные альтернативы к типам устаревших грантов:
Тип Гранта Наследия
http://auth0.com/oauth/legacy/grant-type/ro/jwt-bearer
альтернативаЭта функция по умолчанию отключена. Если вы хотите включить эту функцию, обратитесь в службу поддержки, чтобы обсудить ваш вариант использования и предотвратить возможность появления уязвимостей в безопасности.
Больше информации о старых типах грантов также можно найти здесь.
Итак, проблема, с которой вы столкнулись, заключается в том, что Делегация устарела. Это означает, что /delegation
конечная точка и, что более важно, jwt-bearer
тип предоставления, устарел. Если вы новый клиент, вам не повезло. Если вы уже являетесь клиентом, вам нужно связаться со службой поддержки, чтобы включить его.
Относительно того, почему Почтальон возвращает загадочный "Missing grant_type parameter"
ошибка в отличие от гораздо лучше "Grant type 'http://auth0.com/oauth/legacy/grant-type/delegation/id_token not allowed for the client."
ошибка, которую вы получаете с другими REST Clients на основе расширения браузера, ваше предположение такое же, как и мое.