首页 > 解决方案 > 获取用于 Azure DevOps API 使用的 OAuth 令牌

问题描述

我有一个用 Angular 7 编写的 Web 应用程序。我正在尝试使用 Azure DevOps API,并且我知道我必须设置一个 Azure Active Directory 应用程序。我已经尝试了几个库adal-angular msal-angular,比如microsoft-adal-angular6. 遵循他们的文档和样本。我可以成功访问用户的姓名、电子邮件和令牌。我可以将令牌用于 Microsoft Graph api,但不能用于 Azure DevOps api。我尝试使用此令牌作为Bearer我的身份验证,HttpClient但我得到状态代码 203。

然后我找到了这个答案,我认为这是我需要的缺失部分,但它适用于 dotNet。

我正在使用的 API:https://app.vssps.visualstudio.com/_apis/accounts

问:

  1. 我得到的令牌是什么?
  2. 如何使用 Angular 7 获得适当的令牌?
  3. 我需要什么库?

标签: angularazureazure-devopsazure-active-directoryangular7

解决方案


我用过@azure/msal-angular。我使用acquireTokenSilent(['499b84ac-1321-427f-aa17-267ca6975798/.default']). 如果失败,我使用acquireTokenRedirect(['499b84ac-1321-427f-aa17-267ca6975798/.default'])

访问令牌可以通过getCachedTokenInternal([499b84ac-1321-427f-aa17-267ca6975798/.default])


推荐阅读