【问题标题】:Azure AD authentication for multiple domains多个域的 Azure AD 身份验证
【发布时间】:2025-11-27 18:25:01
【问题描述】:

我有一个 cordova 应用程序,我正在使用 azure AD cordova 插件对其进行身份验证,并且一切正常。但是现在我正在集成在另一个域中发布的服务,并且我无法使用身份验证后生成的移动令牌对这些服务进行身份验证。有人可以指导我如何保护作为 Azure Web API 发布的多个域 API 并使用令牌访问受保护的 API。

我已尝试通过包含两个 API 的回复 URL 来修改其中一个 API 的 Azure 门户中的安全设置

当我将令牌包含在进入第二个域端点的 ajax 请求的标头中时,我只会收到“未授权”错误。

【问题讨论】:

标签: azure cordova azure-active-directory


【解决方案1】:

听起来您可以在 Cordova 设置中获取访问令牌,但在用户登录后访问多个 Web api 时遇到问题。

我建议您使用的身份验证协议是代表流程,在此处记录:https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow

根据总结:

OAuth 2.0 On-Behalf-Of 流 (OBO) 服务于应用程序调用服务/Web API,而后者又需要调用另一个服务/Web API 的用例。这个想法是通过请求链传播委托的用户身份和权限。为了让中间层服务向下游服务发出经过身份验证的请求,它需要代表用户保护来自 Microsoft 身份平台的访问令牌。

这是为了让正确的受众获得一个新的访问令牌,以访问 web api 2。

【讨论】:

  • 谢谢弗兰克。此链接有助于理解推荐的流程。