Azure AD域能否与IdentityServer这类OIDC身份提供商联合并支持Azure AD Join?
没问题,我来详细解答你的疑问:
Azure AD 与 IdentityServer 联合的可行性
先给你一个明确结论:是的,Azure AD 完全可以和 IdentityServer 这类 OIDC 身份提供商实现联合,主要有两种信任配置方向,适配不同的业务场景:
1. 把 IdentityServer 作为 Azure AD 的外部身份提供商
你可以将 IdentityServer 配置为 Azure AD 信任的外部 IdP,让 Azure AD 接受来自 IdentityServer 的身份断言。具体操作逻辑是:
- 在 Azure AD 中创建一个企业应用,选择 OIDC 身份提供商类型,指向你的 IdentityServer 的元数据端点(比如
https://your-identityserver-domain/.well-known/openid-configuration)。 - 在 IdentityServer 侧注册 Azure AD 作为信赖方,确保颁发的令牌符合 Azure AD 要求的格式——比如正确的声明映射、签名算法(推荐 RS256)等。
- 这种模式下,用户可以通过 IdentityServer 登录所有 Azure AD 集成的应用,Azure AD 会负责后续的应用授权和资源访问逻辑。
2. 把 Azure AD 作为 IdentityServer 的外部身份提供商(反向联合)
如果你的场景是让用户通过 Azure AD 登录到 IdentityServer 保护的自有应用,也可以反过来配置:
- 在 IdentityServer 中添加 Azure AD 作为外部登录提供者,用 OIDC 协议完成对接。
- 在 Azure AD 中注册 IdentityServer 作为客户端应用,配置好重定向 URI、权限范围等必要参数。
Azure AD Join 功能的支持限制
这里需要划重点:Azure AD Join 原生不支持用自定义 OIDC 身份提供商(比如 IdentityServer)完成设备加入流程,核心原因有两个:
- Azure AD Join 依赖 Azure AD 专属的设备注册机制,尤其是 Windows 10/11 设备需要用到的WS-Trust usernameMixed 端点——这正是你当前用 ADFS 的原因,但 IdentityServer 本身只聚焦于 OIDC 和 OAuth 2.0,并不原生支持 WS-Trust 协议。
- 设备加入 Azure AD 时,需要设备与 Azure AD 建立直接的信任关系,这个流程要求 IdP 能提供符合 Azure AD 设备注册规范的令牌和协议支持,目前只有 Azure AD 自身、ADFS(通过 WS-Fed/WS-Trust)以及少数微软认证的合作伙伴 IdP 能满足这个要求。
替代方案建议
如果你想迁移到 IdentityServer 同时保留类似 Azure AD Join 的设备管理能力,可以考虑这几个方向:
- 混合 Azure AD Join:如果你的环境还有本地 Active Directory,可以配置混合 Azure AD Join——让设备先加入本地 AD,再同步到 Azure AD。这种情况下,你可以把 IdentityServer 和本地 AD 联合,通过本地 AD 完成设备身份验证,同时借助 Azure AD 获得云管理能力。
- 评估 Azure AD B2C:如果自定义身份需求是核心,Azure AD B2C 支持对接自定义 OIDC 身份提供商,同时也自带设备注册和管理功能(类似 Azure AD Join),不过它的自定义灵活性和 IdentityServer 有差异,需要结合你的需求评估是否适配。
- 自定义扩展 IdentityServer 支持 WS-Trust:这个方案比较复杂,但并非不可行——你可以通过自定义扩展让 IdentityServer 实现 WS-Trust usernameMixed 端点的兼容,不过需要深入吃透 Azure AD 设备注册的协议细节,后续维护成本会比较高。
内容的提问来源于stack exchange,提问作者MarkHasper
相关产品推荐
相关产品推荐

