首页 > 解决方案 > 两个应用程序之间的 Azure 用户模拟设置

问题描述

我目前在 Azure 中的两个应用程序之间工作,它们需要相互通信。存在一个应用程序,它需要调用另一个应用程序的 API。我在我的应用注册中设置了用户模拟,我可以在其中访问 API 端点(应用程序)。主应用程序(调用 API)正在使用我的客户端 ID/客户端密码通过 Microsoft 的图形 API 检索令牌。然后我使用生成的访问令牌来调用 API 端点。问题在于端点将请求定向到 Microsoft 登录页面。如何避免点击 Microsoft 登录页面。

API流程:

  1. 用户登录到第一个应用程序(使用 Microsoft 登录)

  2. 应用程序从我在 Azure 中创建的应用程序中检索令牌(无后端代码)并调用图形 API 来检索令牌

  3. (原始应用程序)使用生成的令牌来调用端点。

  4. 请求被发送到登录页面。

标签: azureazure-active-directoryasp.net-identity

解决方案


这个想法是通过请求链传播委托的用户身份和权限。对于中间层服务向下游服务发出经过身份验证的请求,它需要代表用户从 Microsoft 身份平台获取访问令牌。

当您发送服务到服务访问令牌请求时,请scope使用您的 API 范围设置。然后您将获得 API 的访问令牌,并且不会再次点击登录页面。

在此处输入图像描述

更多细节,你可以参考这篇文章


推荐阅读