0

我有三个应用参与 Azure AD OBO 流

  1. Angular FrontEnd 在 AzureAD 中注册为 Web 应用程序。为此注册启用了访问令牌和 ID 令牌复选框。
  2. 使用 ASP.NET Core 开发的 WebAPI1。它在 AzureAD 中注册为启用了 ID 令牌的 Web 应用程序,并且清单中的“已知客户端应用程序”字段指向 Angular FrontEnd ClientId。还为此 Web API1 设置了客户端密码
  3. NAV OData WebServices 注册为 Web 应用程序。它在 AzureAD 中注册为启用了 ID 令牌的 Web 应用程序。

权限:

  1. WebAPI1 和 NAV OData 服务都使用 Azure 门户中的公开 API 选项公开为 API。

  2. Angular FrontEnd 有权访问 Web API1

  3. WebAPI1 有权访问 NAV OData 服务。

收到的令牌 1 来自 AzureAD,然后用于访问 Web API1。现在,当 Web API1 尝试与 NAV OData 服务交互时,将使用另一个令牌 2。在 WebAPI1 和 NAV OData 服务之间通信的最后阶段,我收到一个错误:

NAV 错误:用户 ID 和密码无效。请使用状态码重试:401 Unauthorized。

在整个设置中,我需要了解以下内容:

  1. 包括 NAV OData 服务在内的所有应用的注册是否正确。

  2. 我应该将 NAV OData 服务注册为基于 SAML 的应用程序吗?

参考链接:

https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#middle-tier-access-token-request

https://www.taithienbo.com/pass-users-identity-and-authorization-from-a-client-application-to-a-web-api-to-another-web-api-using-oauth-2- 0代表流量/

任何人都可以帮助我提供他们的指导来解决这个问题。

4

0 回答 0