所以有人告诉我,我们的 PHP 应用程序可能需要支持使用 ADFS 的身份验证。
对于非 Microsoft 人员,什么是 ADFS?
它与 LDAP 之类的东西有何不同?
它是如何工作的?对 ADFS 服务器的典型请求中将包含哪些类型的信息?它是为身份验证和授权而设计的吗?
ADFS 服务器是否通常可以从 Internet 访问(而企业 AD 域控制器则不能)?
我试过阅读一些 Technet 文档,但里面全是微软的说法,没有太大帮助。
维基百科更好(见下文),但也许一些 ServerFault 社区可以填补一些空白。
Active Directory 联合服务 (ADFS)是由 Microsoft 开发的软件组件,可以安装在 Windows Server 操作系统上,为用户提供对跨组织边界的系统和应用程序的单点登录访问。它使用基于声明的访问控制授权模型来维护应用程序安全性并实施联合身份。
基于声明的身份验证是基于一组包含在受信任令牌中的关于用户身份的声明来验证用户的过程。
在 ADFS 中,通过在两个安全领域之间建立信任,在两个组织之间建立身份联合。一侧(帐户端)的联合服务器通过 Active Directory 域服务中的标准方式对用户进行身份验证,然后发出一个令牌,其中包含有关用户的一系列声明,包括其身份。另一方面,在资源端,另一个联合服务器验证令牌并为本地服务器颁发另一个令牌以接受声明的身份。这允许系统向属于另一个安全领域的用户提供对其资源或服务的受控访问,而无需用户直接向系统进行身份验证,也无需两个系统共享用户身份或密码的数据库。
在实践中,用户通常认为这种方法如下:
- 用户登录到他们的本地 PC(就像他们通常在早上开始工作时那样)
- 用户需要在合作伙伴公司的外联网网站上获取信息——例如获取定价或产品详细信息
- 用户导航到合作伙伴公司外联网站点 - 例如:http ://example.com
- 合作伙伴网站现在不需要输入任何密码 - 而是使用 AD FS 将用户凭据传递到合作伙伴 Extranet 站点
- 用户现在已登录合作伙伴网站并可以与“已登录”的网站进行交互
来自https://en.wikipedia.org/wiki/Active_Directory_Federation_Services