今天,我在从Postman获取Azure AD访问令牌时遇到问题。这是在它之前为我正在使用的同一应用和其他应用工作时出现的问题。但今天它们都不工作。我工作正常,但现在它向我显示此错误:
- 错误代码:AADSTS900144请求正文必须包含以下参数:"客户端ID"*
我使用https://login.microsoftonline.com/common/oauth2/v2.0/authorize作为身份验证URL,使用https://login.microsoftonline.com/common/v2.0/token作为访问令牌URL。我尝试了这些方法作为访问令牌URL,但均无效。https://login.microsoftonline.com/{{tenant_id}}/v2.0/tokenhttps://login.microsoftonline.com/common/tokenhttps://login.microsoftonline.com/{tenant_id}/token这是我的Azure AD oauth 2.0配置。此外,如您所见,请求正文中没有client_id。
2条答案
按热度按时间gj3fmq9x1#
我尝试在我的环境中重现相同的结果,但得到以下结果
你可以从Azure AD应用程序获取身份验证URL和访问令牌URL的值,这些值因支持的帐户类型而异,如下所示:
现在我在Postman中添加了环境变量,定义如下:
使用
variables
请求令牌时,请确保选择正确的环境。我填写了与您相同的必填详细信息以获得访问令牌,如下所示:
当我选择获取新访问令牌时,我成功获取了
token
,如下所示:如果在获取访问令牌时未包含
client_id
,则通常会发生此错误。我在如下变量中将
client_id
参数更改为blank:当我再次尝试获取访问令牌时,我收到了相同的错误,如下所示:
要解决错误,请确保在正确的环境中传递
client_id
值并保存它。qoefvg9y2#
我知道为什么会这样了:我检查了我朋友的电脑,它在那里工作!这个问题是最后一次更新的 Postman 。他们已经改变了授权的东西。只要改变客户端身份验证到发送客户端凭据在正文和它会工作。x1c 0d1x