You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React应用从Azure AD迁移至ADFS 2016的配置咨询

React应用迁移至ADFS 2016认证指南

1. React应用端配置调整

由于你之前使用MSAL.js对接Azure AD,迁移到ADFS 2016无需替换库,只需调整MSAL的配置参数,核心改动如下:

  • 修改Authority参数:将原Azure AD的authority替换为ADFS服务器地址,格式为https://<你的ADFS服务器域名>/adfs
  • 更新Client ID:使用ADFS端注册应用时生成的客户端ID(自定义GUID或字符串)
  • 指定Redirect URI:确保与ADFS端配置的回调地址完全一致(包含HTTP/HTTPS、端口、路径)
  • 关闭Authority验证:因为ADFS不在MSAL默认的可信Authority列表中,需在配置中设置validateAuthority: false
  • 调整Scope配置:ADFS 2016支持openid、profile等标准OIDC Scope,若需访问后端API,需添加对应API的Scope(如https://你的API域名/user_impersonation)

示例MSAL初始化配置:

const msalConfig = {
  auth: {
    clientId: "YOUR_ADFS_CLIENT_ID",
    authority: "https://adfs.yourcompany.com/adfs",
    redirectUri: "https://your-react-app.com/auth-callback",
    validateAuthority: false
  },
  cache: {
    cacheLocation: "sessionStorage", // 根据需求选择缓存位置
    storeAuthStateInCookie: false // SPA场景建议关闭,避免跨域问题
  }
};
  • 适配令牌解析:ADFS生成的ID Token声明格式与Azure AD略有差异,需确保你的应用能正确解析sub、name等核心声明,若有自定义声明需在ADFS端提前配置。

2. ADFS端配置步骤

ADFS 2016支持应用组(推荐多应用共享认证)和独立应用两种配置方式,以下是核心操作:

方式一:使用应用组(推荐)

  1. 打开ADFS管理控制台,右键应用组 → 添加应用组
  2. 输入应用组名称,选择OpenID Connect模板(ADFS 2016需确保已安装Update 3及以上补丁以支持SPA场景)
  3. 添加服务器应用(客户端):
    • 输入自定义客户端ID(如GUID)
    • 填写Redirect URI(与React应用配置一致)
    • 勾选授权码流(SPA场景推荐配合PKCE,ADFS 2016 Update 3+支持PKCE)
  4. 关联Web API(若需访问后端资源):
    • 添加Web API,设置唯一标识符(如https://api.yourcompany.com)
    • 为客户端应用分配API权限(如user_impersonation)
  5. 完成配置后,记录客户端ID和Redirect URI用于React应用配置。

方式二:配置独立应用

  1. 打开ADFS管理控制台,右键应用程序 → 添加应用程序 → 添加服务器应用程序或Web API
  2. 输入应用名称,设置客户端ID和Redirect URI
  3. 配置应用权限(若需访问其他资源)
  4. 保存配置,记录客户端ID和Redirect URI。

3. 配置疑问解答

如何获取应用组的Redirect URI?

Redirect URI是你自行定义的React应用回调地址,开发环境通常为http://localhost:3000/auth-callback,生产环境需替换为正式域名地址(如https://your-react-app.com/auth-callback)。只需确保React应用MSAL配置中的redirectUri与ADFS端填写的地址完全一致即可。

独立应用如何获取Metadata.xml?

ADFS的联邦元数据是服务器级别的,统一地址为:

https://<你的ADFS服务器域名>/adfs/metadata/federationmetadata.xml

直接访问该URL即可获取完整的元数据XML文件,其中包含所有已注册应用的配置信息。若需验证OIDC端点,可访问OpenID Connect发现文档:

https://<你的ADFS服务器域名>/adfs/.well-known/openid-configuration

内容的提问来源于stack exchange,提问作者Egor Kharlamov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:17:07