如何为参数vs.体内配置Azure AD Oauth2令牌终结点?

时间:2018-09-04 16:10:32

标签: azure oauth-2.0 azure-api-management

我正在使用Azure AD为API提供Oauth2身份验证。 Setup&config似乎对我来说很好用,但是一位合作伙伴指出,Oauth2令牌端点不喜欢内联参数-而是希望在HTTP正文中传递参数。

例如:此调用返回AADSTS90014:请求正文必须包含以下参数:“ grant_type”:

https://login.microsoftonline.com/ 我的租户 / oauth2 / token?grant_type = client_credentials&client_id = 客户端ID &client_secret = 秘密&code = AUTHORIZATION_CODE'

但是带有与表单数据相同的参数的帖子可以正常工作。我相信Oauth应该支持参数化调用(如google documentation所示)。
在Azure中是否有某个地方可以配置Oauth2终结点以接受令牌参数作为后参数,而不是在表单正文中发送?

1 个答案:

答案 0 :(得分:0)

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