我正在一个项目中工作,我们正在使用 ADFS STS 令牌验证来自 UI 或其他任何地方的任何 REST API 请求。有一些来自 UI 的直接调用,标头中带有 ADFS STS 令牌以进行身份验证/授权,并且有一些外部 3rd 方调用不是来自 UI,而是在标头中使用 ADFS STS 令牌。现在我们计划部分迁移到 Azure AD 令牌,发布后可能仍有一些应用程序将继续使用 ADFS STS 令牌,因此可能会出现不知道迁移到 Azure 的外部应用程序仍会调用内部应用程序的情况使用 ADFS STS 令牌,我们应该与它兼容。
我现在有两个挑战:
- 如何支持上述设计,以便即使使用 Azure 令牌,API 仍然能够通过从代码中创建 ADFS 令牌并将其设置在标头中来调用外部服务(在 ADFS 上工作)?
- HTTP 请求中的标头似乎是不可修改的数据,当我尝试在请求拦截器代码中的请求模板中修改它时,它未能说出不可修改的映射。
我该如何处理?请有人帮忙。
不幸的是,由于内部限制,我无法共享代码。