angular - 获取用于 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
问:
- 我得到的令牌是什么?
- 如何使用 Angular 7 获得适当的令牌?
- 我需要什么库?
解决方案
我用过@azure/msal-angular
。我使用acquireTokenSilent(['499b84ac-1321-427f-aa17-267ca6975798/.default'])
. 如果失败,我使用acquireTokenRedirect(['499b84ac-1321-427f-aa17-267ca6975798/.default'])
访问令牌可以通过getCachedTokenInternal([499b84ac-1321-427f-aa17-267ca6975798/.default])
推荐阅读
- c# - 使用 C# 中使用 Activator 创建的 IOptions 实例
- python - 如何通过单击 xpath 从 url 列表中循环并在 Python 中使用 Selenium 提取数据?
- python - 使用带有异常值的 Matplotlib 手动绘制箱线图
- c++ - 为什么模板参数推导因 std::function 回调的可变模板参数而失败?
- python - Django ORM中的反向外键关系
- angular - ionic - sqllite 插入多行
- spring-boot - docker不工作的spring boot教程?
- php - 在独立(不带 Laravel)刀片模板中使用函数
- java - Java 13 对 Eclipse 的支持
- asp.net - 浏览器后退按钮在 asp.net 上丢失会话