【问题标题】:Web API that calls Azure AD Microsoft APIs with user Impersonation使用用户模拟调用 Azure AD Microsoft API 的 Web API
【发布时间】:2020-07-15 11:22:14
【问题描述】:

我有 asp.net core 3.1 Web API 项目需要调用 Microsoft Azure API(例如代表其他用户的存储 API(模拟)。

我相信这可以通过 Azure 应用注册来实现,然后通过先获取令牌交互然后静默使用 Microsoft.Identity.Client 库为用户创建模拟。

  1. 但是由于我不想在 API 中使用任何交互式身份验证,我该如何从我的 API 执行此操作。
  2. 什么是用于 Microsoft.Identity.Client .NET 库的 Web API 身份验证的 ASP.NET Core 3.0 友好版本

任何示例都会有所帮助...

【问题讨论】:

  • @TonyJu 是的,我正在验证您提出的方法...您提到受 Azure AD 保护...我有托管在 Azure Web 服务上并由 Swagger UI 记录的 Web api...这样做符合受 Azure AD 保护的条件

标签: azure asp.net-core azure-active-directory azure-web-app-service asp.net-core-webapi


【解决方案1】:

您可以使用 MSAL 代表用户(服务到服务调用)使用代表流 (OBO) 来实现获取令牌,您可以使用 MSAL 2.3 从文档 here 检查文档和代码 sn-ps + .

【讨论】:

    【解决方案2】:

    如果您的 Web api 受 Azure AD 保护,您可以使用代表流。 Here 是关于调用 Web API 的 Web API 的场景。

    如果您的 web api 不受 Azure AD 保护,并且您想使用用户令牌,则必须使用交互式身份验证或 ropc flow 调用 Azure API。

    参考:

    Web API calling Microsoft Graph.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-31
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多