angular - 从多个资源请求数据
问题描述
我正在尝试在我的 Angular 项目中访问多个 AzureAD 资源。目前我正在请求一个本地资源,它是一个 API,它提供了我需要在应用程序前端显示的所有数据。用户可以使用 AzureAD 成功登录,它会获取我用来从本地 API 检索数据的令牌。目前,这一直运行良好,并已用于生产。但是,为了向应用程序添加新功能,我有兴趣使用 Microsoft Graph API 获取电子邮件、日历和其他数据。
不幸的是,我似乎无法让它正常工作,因为我一次只能添加一个资源。我可以从本地 API 或图形 api 获取数据,但不能同时获取。我希望有人能指出我正确的方向并解释我如何使用相同的访问令牌成功地连接两个 API。
我的 OAuth2 配置:
loginUrl: 'https://login.microsoftonline.com/{{tenant}}/oauth2/authorize',
clientId: '{{clientid}}',
resource: 'https://{{domain}}.com/{{appid}}', //'https://graph.microsoft.com',
logoutUrl: 'https://login.microsoftonline.com/{{tenant}}/oauth2/logout',
redirectUri: window.location.origin + '/' + window.location.pathname,
silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',
timeoutFactor: 0.8,
scope: 'openid offline_access https://{{tenant}}.onmicrosoft.com/{{local-api}}/user_impersonation',
oidc: true,
issuer: 'https://sts.windows.net/{{tenant}}/',
tokenEndpoint: 'https://login.microsoftonline.com/{{tenant}}/oauth2/token',
responseType: 'id_token token',
clearHashAfterLogin: true,
disableAtHashCheck: true,
showDebugInformation: true,
strictDiscoveryDocumentValidation: false,
解决方案
推荐阅读
- c# - 使用 CsvHelper 编写异步的正确方法
- c# - 如何过滤 SelectList 内容
- sql - 使用列作为变量解码 Base64
- spring-boot - 将 DSL 路径输入到 POJO,我可以将 POJO 注册为 Bean 并调用 id 来引用它吗?
- javascript - watir ruby 文件上传 windows 交互
- makefile - 如何使用单个变量打印依赖项列表?
- python - /add/ NOT NULL 约束处的 IntegrityError 失败:myApp_bookdetail.manager_id
- php - PHP MySQL。添加表格内容不起作用
- android - subscribe() 中的代码没有被执行
- com - OleProcedure() C++ 生成器 10.3