概念:https://nap7.com/adfs-introduce-and-develop/
参与方:
- client,通常是浏览器
- relying party 信赖方。或者叫 SP 服务提供者
- IdP,或者叫 Claim Provider
核心流程:
ADFS 是一种基于 claim 的身份验证,通过 web 方式提供。
- 当客户访问 SP 时,SP 判断有没有登录,没有则返回 IdP 的登录地址。
- 随后客户端跳转到 IdP 完成登录
- SP 返回 token 给客户端。token 中包含用户身份信息 (claims), 以及签名。
- 客户端拿着 token 去访问 SP,如验证成功,则 SP 对 client 进行授权。这时候 SP 可能会发送 cookie, 并生成相关的 claim principle.
- 登录成功,客户端随后可以访问 SP 的资源.
一些概念
- security token
- claim
- signature
- claim principle
- AD DS
- AD FS
- ADFS proxy
- intranet
- internet
.NET 中有 WIF (Windows Identity Foundation),是一组类。
sso 实现
登录时,根据用户名格式是否为 domainusername, 或 username@domain.com 可以判断用户是否为 AD 域用户,还是普通的 web 用户,从而后端可以决定去哪个服务器验证用户。
甚至还可以实现联合多个组织不同 AD 域的验证。