Снежинка Неподдерживаемый Тип Гранта

#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 и код должны передаваться в качестве параметров запроса, но документация неверна.