0

我正在一个项目中工作,我们正在使用 ADFS STS 令牌验证来自 UI 或其他任何地方的任何 REST API 请求。有一些来自 UI 的直接调用,标头中带有 ADFS STS 令牌以进行身份​​验证/授权,并且有一些外部 3rd 方调用不是来自 UI,而是在标头中使用 ADFS STS 令牌。现在我们计划部分迁移到 Azure AD 令牌,发布后可能仍有一些应用程序将继续使用 ADFS STS 令牌,因此可能会出现不知道迁移到 Azure 的外部应用程序仍会调用内部应用程序的情况使用 ADFS STS 令牌,我们应该与它兼容。

我现在有两个挑战:

  1. 如何支持上述设计,以便即使使用 Azure 令牌,API 仍然能够通过从代码中创建 ADFS 令牌并将其设置在标头中来调用外部服务(在 ADFS 上工作)?
  2. HTTP 请求中的标头似乎是不可修改的数据,当我尝试在请求拦截器代码中的请求模板中修改它时,它未能说出不可修改的映射。

我该如何处理?请有人帮忙。

不幸的是,由于内部限制,我无法共享代码。

4

1 回答 1

0

请检查以下参考资料是否为您提供了一些想法。

根据Mix ADFS and Azure AD for authentication - Microsoft Q&A

如果您将 O365 与 ADFS 联合,并且将应用程序与 Azure AD 联合,则身份验证流程为:

  1. 用户访问联合到 Azure AD 的应用程序。
  2. 应用程序将重定向到 Azure AD 身份验证端点 ( https://login.microsoftonline.com ) 进行身份验证。
  3. 将提示用户输入凭据。
  4. 根据 UPN 后缀(如果域与 ADFS 联合),用户将被重定向到 ADFS。
  5. ADFS 将对用户进行身份验证并向 Azure AD 发出 WS-Fed 令牌。
  6. Azure AD 将接收令牌并向应用程序颁发 SAML 令牌。
  7. 用户最终将获得对应用程序的访问权限。

参考:

  1. 配置 AD FS 2016 和 Azure MFA | 微软文档
  2. Azure AD Connect - 使用 Azure AD Connect 管理与 Azure AD 的 AD FS 信任 | 微软文档
  3. 将 ADFS 与 Azure Active Directory (techdirectarchive.com)参考 - 解决方案区联合
于 2022-01-04T12:01:12.033 回答