Как настроить конечную точку токена Azure AD Oauth2 для параметров и тела? - PullRequest
0 голосов
/ 04 сентября 2018

Я использую Azure AD для обеспечения аутентификации Oauth2 для API. Мне показалось, что настройка и конфигурация работают нормально, но партнер отметил, что конечной точке токена Oauth2 не нравятся встроенные параметры - ему нужны параметры, передаваемые в теле HTTP.

Пример: этот вызов возвращает AADSTS90014: Тело запроса должно содержать следующий параметр: 'grant_type':

https://login.microsoftonline.com/my tennant / oauth2 / token? Grant_type = client_credentials & client_id = theclientid & client_secret = thesecret & code = AUTHORIZATION_CODE '

Но сообщение с теми же параметрами в теле, что и данные формы, работает просто отлично. Я полагаю, что Oauth должен поддерживать параметризованный вызов (как показано в документации Google ).
Есть ли где-то в Azure, чтобы настроить конечную точку Oauth2 для приема параметров токена в качестве параметров отправки или отправки в теле формы?

1 Ответ

0 голосов
/ 12 сентября 2018
he request body must contain the following parameter: 'grant_type':

На основании ответа я бы сказал, что вы неправильно установили заголовок content-type.

Если вы отправляете этот запрос: https://login.microsoftonline.com/my tennant/oauth2/token?grant_type=client_credentials&client_id=theclientid&client_secret=thesecret&code=AUTHORIZATION_CODE' убедитесь, что вы устанавливаете content-type как application/x-www-form-urlencoded.

Если вы используете параметры в теле, установите content-type как application/json

...