我已经设法使用 Az cli 获得不记名令牌,但我想找到另一种方法。我获得了一个不记名令牌,其中包含对 microsoft oauth2 api 的请求 POST,但该令牌不起作用。
首先,我向邮递员尝试了以下请求:
然后,我从请求中得到了这个令牌:
我在请求的授权标头中传递了此令牌:
https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.0
。
请求不起作用,错误为 401 未经授权,并显示消息“TF401444:请以 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\xxxxxxx-xxxx 身份至少登录一次” -xxxx-xxxx-xxxxxxxxxxxx 在网络浏览器中启用对服务的访问。“
最初,当我使用错误资源值生成的令牌运行 Azure DevOps API 调用时,我也遇到了相同的错误,如下所示:
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.0
回复:
要解决该错误,您需要将resource 值更改为 499b84ac-1321-427f-aa17-267ca6975798
用户,如下所示:
现在,我通过 Postman 生成了资源值为499b84ac-1321-427f-aa17-267ca6975798
的访问令牌,如下所示:
POST https://login.microsoftonline.com/tenantId/oauth2/token
grant_type:client_credentials
client_id:appId
client_secret:secret
resource:499b84ac-1321-427f-aa17-267ca6975798
回复:
当我使用上面的令牌调用Azure DevOps REST API时,我成功收到了响应,项目详细信息如下:
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.0
回复: