Я пытаюсь сгенерировать токен Active Directory через шлюз API Azure. Для этого я создал операцию API на своем Azure API-шлюзе, которая принимает следующий параметр тела:
{
"client_id" :"****************",
"scope":"https://graph.windows.net/.default",
"client_secret":"****************",
"grant_type":"client_credentials"
}
Всякий раз, когда я пытаюсь проверить это, тело настроено для процесса inboud, но не может пересылать то же самое относится к бэкэнд-сервису, который https://login.microsoftonline.com/ {{ID}} / oauth2 / v2.0 / token / , поэтому я изменил свою политику inboud, как показано ниже, но все же не повезло.
<set-method>POST</set-method>
<set-variable name="requestBodyData" value="@(context.Request.Body.As<string>(preserveContent: true))" />
<set-header name="Content-Type" exists-action="override">
<value>"application/x-www-form-urlencoded"</value>
</set-header>
<rewrite-uri template="/" />
<set-body>@{
return "client_id=*******&scope=https://graph.windows.net/.default&client_secret=*******&grant_type=client_credentials";
}</set-body>
<!-- Don't expose APIM subscription key to the backend. -->
<set-header name="Ocp-Apim-Subscription-Key" exists-action="delete" />
Любые выводы будут оценены.