获取OAuth令牌以使用Azure DevOps API

时间:2019-05-29 07:33:52

标签: angular azure azure-devops azure-active-directory angular7

我有一个用Angular 7编写的Web应用程序。我正在尝试使用Azure DevOps API,并且我了解我必须设置一个Azure Active Directory App。我试过一些像adal-angular msal-angular这样的库和像microsoft-adal-angular6这样的包装器。遵循他们的文档和样本。我可以成功访问用户名,电子邮件和令牌。我可以将令牌用于Microsoft Graph API,但不能用于Azure DevOps API。我尝试使用此令牌作为Bearer的身份验证HttpClient,但是却收到状态码203。

然后我发现了这个answer,我认为这是我所需要的缺失部分,但对于dotNet来说是必需的。

该API包含:https://app.vssps.visualstudio.com/_apis/accounts

问:

  1. 我得到的象征是什么?
  2. 如何使用Angular 7获取适当的令牌?
  3. 我需要哪些图书馆?

1 个答案:

答案 0 :(得分:0)

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

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

检索