Добавление дополнительного параметра авторизации к типу предоставления учетных данных клиента в Ballerina?

Мне нужно отправить запрос, подобный приведенному ниже.

      curl --request POST --url https://dev-jlsubxnitkpok2tw.au.auth0.com/oauth/token 
--header 'content-type: application/json' \
--data '{"client_id":"","client_secret":"","audience":"","grant_type":"client_credentials"}'

Я использую Ballerina, как показано ниже.

      http:Client securedEP = check new ("http://postman-echo.com", {
            auth: {
                tokenUrl: "xxx/oauth/token",
                clientId: "xxx",
                clientSecret: "xxx",
                scopes: ["read", "submit"]
            }
        }

Я получаю сообщение об ошибке, подобное приведенному ниже, от службы.

      cause: Failed to get a success response from the endpoint. Response code: '403'. 
Response body: '{"error":"access_denied","error_description":"No audience 
parameter was provided, and no default audience has been configured"}'

Как я могу добиться этого в Ballerina?

1 ответ

Вы можете использоватьoptionalParamsпараметр в ClientCredentialsGrantConfig , чтобы указать это.

      http:Client securedEP = check new ("http://postman-echo.com", {
        auth: {
            tokenUrl: "xxx/oauth/token",
            clientId: "xxx",
            clientSecret: "xxx",
            scopes: ["read", "submit"],
            optionalParams: {
                "audience": "aud"
            }
        }
    });

Обратите внимание, чтоauthПоле записи здесь происходит из типа CommonClientConfiguration .

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