#snowflake-cloud-data-platform #snowflake-sql
Вопрос:
Я столкнулся с проблемой, пытаясь выполнить запрос токена для OAuth в Snowflake.
Я использую Postman с параметром запроса grant_type=authorization_code
, но конечная точка запроса токена oauth постоянно отправляет следующий ответ.
{
"data": null,
"error": "unsupported_grant_type",
"code": null,
"message": "The provided grant type is not supported.",
"success": false,
"headers": null
}
Есть какие-нибудь идеи? Согласно документации, это один из двух поддерживаемых типов грантов.
https://docs.snowflake.com/en/user-guide/oauth-custom.html
URL API :
https://example.com/oauth/token-request?grant_type=authorization_codeamp;code=123amp;redirect_uri=https://localhost.com
Комментарии:
1. Не могли бы вы, пожалуйста, снова вставить ссылку на документы, которые вы нашли? Там был адрес вашей учетной записи.
2. Спасибо @GregPavlik. Я поместил эту ссылку туда специально, чтобы показать формат ссылки и то, как я указываю grant_type.
3. Имеет смысл. Если вам нужно вернуть его, чтобы показать вызов API, вы можете запутать фактическую часть URL-адреса учетной записи. Спасибо.
4. Спасибо, сэр, я обновил его.
Ответ №1:
Проблема в том, что документация Snowflake неверна. Я отправлю им билет, чтобы он был исправлен.
В документации указано, что вы должны включать элементы в качестве параметров запроса; однако они должны находиться в теле СООБЩЕНИЯ в соответствии со стандартом.
Ответ №2:
Значения для генерации токенов должны быть переданы в разделе x-www-форма-urmencoded, и там должны быть переданы следующие значения:
redirect_uri
grant_type
code
В разделе заголовка должно быть передано следующее:
Authorization
Значение для этого было бы:
Basic <base 64 encoded value for clientid:client secret>
Закодированное значение может быть сгенерировано из: https://www.base64encode.org или вы можете сгенерировать его с помощью кода.
Комментарии:
1. Да, правильно. В документации указано, что redirect_uri, grant_type и код должны передаваться в качестве параметров запроса, но документация неверна.