ADFS 和 OAuth 的区别
ADFS 和 OAuth 的区别
ADFS(Active Directory Federation Services)和 OAuth 都是身份认证与授权领域的技术,但它们的设计目标、应用场景和实现方式有显著区别。以下从核心定义、技术特性、应用场景等方面详细对比:
核心定义与设计目标
技术 | 核心定义 | 设计目标 |
ADFS | 微软基于 SAML 2.0、WS-Federation 等协议的企业级身份联邦服务。 | 解决跨组织 / 跨系统的单点登录(SSO),让用户用企业 AD(Active Directory)账号访问多个信任的应用(如内部系统、合作方系统)。 |
OAuth 2.0 | 开放标准的授权协议(非认证协议,通常与 OpenID Connect 结合实现认证)。 | 解决第三方应用的授权问题,允许用户在不暴露账号密码的情况下,授权第三方应用访问其在某平台的资源(如用 GitHub 账号登录第三方工具并授权读取仓库)。 |
核心技术差异
1. 协议基础
- ADFS:
基于 SAML 2.0 或 WS-Federation 协议,
主要使用 XML 格式传递身份断言(Assertion),
包含用户身份信息(如用户名、角色)和认证状态。
例如:企业员工通过 ADFS 登录合作方系统时,
ADFS 会生成 SAML 断言,证明 “该用户是本企业的合法用户”。
- OAuth 2.0: