我正在使用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终结点以接受令牌参数作为后参数,而不是在表单正文中发送?
答案 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