azure - 两个应用程序之间的 Azure 用户模拟设置
问题描述
我目前在 Azure 中的两个应用程序之间工作,它们需要相互通信。存在一个应用程序,它需要调用另一个应用程序的 API。我在我的应用注册中设置了用户模拟,我可以在其中访问 API 端点(应用程序)。主应用程序(调用 API)正在使用我的客户端 ID/客户端密码通过 Microsoft 的图形 API 检索令牌。然后我使用生成的访问令牌来调用 API 端点。问题在于端点将请求定向到 Microsoft 登录页面。如何避免点击 Microsoft 登录页面。
API流程:
用户登录到第一个应用程序(使用 Microsoft 登录)
应用程序从我在 Azure 中创建的应用程序中检索令牌(无后端代码)并调用图形 API 来检索令牌
(原始应用程序)使用生成的令牌来调用端点。
请求被发送到登录页面。
解决方案
这个想法是通过请求链传播委托的用户身份和权限。对于中间层服务向下游服务发出经过身份验证的请求,它需要代表用户从 Microsoft 身份平台获取访问令牌。
当您发送服务到服务访问令牌请求时,请scope
使用您的 API 范围设置。然后您将获得 API 的访问令牌,并且不会再次点击登录页面。
更多细节,你可以参考这篇文章。
推荐阅读
- python - 将矩阵添加到另一个更大矩阵的特定区域
- elasticsearch - 在弹性搜索查询结果中为用户评分的目的是什么?
- php - 为什么没有输出 1?(简单的php问题)
- excel - 通过vba在excel中保存多个文件会导致问题
- node.js - node.js 中的 Twitter API 问题(代码:349,消息:'您无法向此用户发送消息。')
- google-apps-script - 添加新行时使用公式自动填充 Google 表格中的一列(没有数组公式)
- python - 使用 python/selenium 在 pdfview 中下载 PDF 文件
- java - Android Chronometer 倒计时完成
- visual-studio - Visual Studio 中键盘快捷键上的多个命令
- perl - 作为 Bio::Tools::Run::Alignment::Muscle 测试的 Eponine.t 失败