在使用Fiddler或其他诊断工具时无法登陆到ADFS服务器
问题描述:
当使用Fiddler或其他诊断工具进行ADFS 排错时,用户从内部登录ADFS会反复弹窗要求进行身份验证,示例图如下:
问题原因:
ADFS使用身份验证的扩展保护来防御Windows集成身份认证过程中可能的中间人攻击。
当ADFS在内网使用Windows集成身份认证时,Fiddler或其他诊断工具在用户登录过程中会截取客户端和ADFS服务器的通信信息,扮演中间人攻击中的中间人角色。ADFS使用身份验证的扩展保护会检测到该行为并拒绝该身份认证,因此会反复弹窗要求进行身份验证。
实际上在启用身份验证的扩展保护时,ADFS服务器和客户端之间有任何设备或软件在其中进行类似中间人的行为时都可能产生该该问题。
解决方法:
在ADFS服务器临时禁用身份验证的扩展保护,完成排错过程后,再启用身份验证的扩展保护功能。
在ADFS服务器运行如下命令即可禁用ADFS的身份验证的扩展保护功能
Set-ADFSProperties -extendedprotectiontokencheck None
启用身份验证的扩展保护功能时请运行如下命令
Set-ADFSProperties -extendedprotectiontokencheck Allow
需要注意的是运行上述命令后需要重启ADFS 服务后才会生效。
关于身份验证的扩展保护功能请参考
https://msdn.microsoft.com/zh-cn/library/dd789100(v=vs.110).aspx https://support.microsoft.com/en-us/kb/2461628