签名认证失败
如果您使用AD FS 2.0作为您的身份提供者,可能会有一个自动生成的新证书。您需要导出该证书,然后将其导入ServiceDesk Plus On-Demand,以解决此问题。请注意:由AD FS自动生成的自签名证书的有效期只有一年。因此,每年您都可能面临这个问题,需要导出新的证书并在ServiceDesk Plus On-Demand中配置它。
为了克服此问题,您可以把证书的有效期提高到100年,这样就不需要担心每年都要执行此步骤, 以下步骤将生成一个有效期为100年的新签名证书。
请按照以下步骤操作:
- 去到 AD FS系统
- 在管理模式下打开一个命令提示符
- 运行以下命令。
- powershell
- Add-PSSnapIn microsoft.adfs.powerhell
- Set-ADFSProperties -CertificateDuration 36500
- Set-ADFSProperties -AutoCertificateRollover $true
- 更新-ADFSCertificate -Urgent
- Set-ADFSProperties -AutoCertificateRollover $false
- 等待上述命令的完成,然后退出
导出新证书
- 从管理工具转到AD FS 2.0管理
- 在左边的树中点击证书
- 在To/8ken签证下选择 "Primary "证书
- 点击右键,去到查看证书页
- 转到 "细节 "标签
- 点击 "复制到文件"
- 选择 "Base 64 Encoded X.509"
- 转到下一步,给出一个文件名。(例如,C:\newCertificate.cer)
- 完成该向导,新的证书现在将在C:\newCertificate.cer中
如果您使用任何其他身份提供者,请从您的身份提供者那里下载新的证书(Base-64 Encoded X509格式,扩展名为.cer)。
现在,使用组织管理证书登录到sdpondemand.manageengine.com。
- 进入ESM目录-->SAML认证
- 点击编辑
- 浏览并给出新的证书
- 现在您应该能够登录到我们的服务。
条件验证失败
请尝试以下步骤:
- 转到AD FS安装系统
- 在管理员模式下打开一个命令提示符
- 在提示符中输入以下命令:
- powershell
- 添加-PSSnapin microsoft.adfs.powershell
- 设置-ADFSRelyingPartyTrust -目标名称"zoho.com" -NotBeforeSkew 2
- 退出
上述命令将配置AD FS,以调整它在认证期间产生的时间戳。现在试试AD认证,您应该能够登录到我们的服务。
如果您在设置了上述Skew后仍然面临这个问题,请确保AD FS机器中的系统时间根据您的本地时区是正确的。即使系统时间与实际时间相差几分钟,也可能导致这种情况。
认证失败
请检查以下案例:
案例 1
AD FS系统中的联合服务名称必须与登录URL中的主机名一致。
例如,如果您在SDP On-Demand中配置的登录URL是https://abc.test.com/adfs/ls,那么AD FS中的联合服务名称必须是 "abc.test.com"。请确保AD FS中的联合服务名称与此相符。
要改变联合服务的名称,
- 进入AD FS 2.0管理控制台。
- 在左边的树上右击 "服务",点击 "编辑联合服务属性"。
更改联合服务名称后,重新启动AD FS 2.0 Windows服务并尝试认证一次。
如果您有AD FS代理:
在改变联合服务名称后,在AD FS代理系统的 "hosts "文件中增加一个条目。在hosts文件中,确保abc.test.com指向AD FS系统的IP地址。重新运行AD FS代理配置向导,然后尝试认证一次。
案例 2
在配置AD FS时,您必须提供您在SDP On-Demand的管理 --->组织信息--->域信息页面看到的经过验证的主域名。
您可以进入AD FS管理控制台,进入信赖方信任,右击 "zoho.com "并进入属性。在 "端点 "选项卡中,请检查URLs并验证它们是否以您验证过的主域结束。
例如,如果您验证的主域是example.com,那么URL必须是:https://accounts.zoho.com/samlresponse/example.com
如果您在登录时仍然面临问题,请进入AD FS系统的事件查看器,看看是否有错误事件。请把这些细节发给我们,我们会尽快给您答复。
案例 3
AD FS中的证书过期。
从Windows服务控制台重新启动AD FS服务,并检查事件日志中的证书过期信息。(在事件日志树中,导航到应用程序和服务日志 ---> AD FS 2.0 ---> 管理)。如果有与服务通信证书过期有关的错误信息,请按照以下微软文章中的指示来更改服务通信证书。
AD FS 2.0 : https://support.microsoft.com/en-us/kb/2921805
AD FS 3.0 : 请参考此处
案例 4
确保活动目录中包含用户账户的EMail地址,只有当 "邮件 "属性有价值时,用户才会被认证。
新用户必须在使用SAML之前注册
请确保
a) 试图登录的用户的电子邮件地址在Active Directory和SDP On-Demand中是相同的。
b) 该用户在SDP On-Demand中是作为请求人+或技术员出现的,并且他的登录被启用。
AD FS 2.0 : 无法在AD FS 2.0联合服务器配置向导中选择SSL证书
这可能是在IIS 7中没有启用SSL的情况下发生的。
请参考下面的文章,了解如何生成一个自签名的证书并在IIS上使用。一旦为443端口配置了证书,请退出并重新运行AD FS 2.0配置向导。这一次,您必须能够在配置向导中选择证书。
https://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-in-iis-7.html
AD FS 2.0 : 集成/穿透式认证无法工作
Internet Explorer
请尝试以下
- 将AD FS登录网址添加到受信任网站(例如,"https://adfs.example.com "必须在受信任网站列表中),并尝试认证。
- 进入 "Internet选项"--->"高级 "选项卡,看看是否选择了 "启用集成Windows认证"。
- 进入Internet选项中的 "安全 "选项卡。检查AD FS URL所在的级别,例如 "内联网 "或 "受信任站点"。点击 "自定义级别",确保 "用当前用户名和密码自动登录 "被选中。
Firefox / Chrome
您可能会在Firefox/Chrome中反复出现登录凭证框。请尝试关闭IIS 7中的Extended Protection for Authentication(EPA)。
具体步骤请参考以下文章:http://social.technet.microsoft.com/wiki/contents/articles/1426.ad-fs-2-0-continuously-prompted-for-credentials-while-using-fiddler-web-debugger.aspx
设置后尝试认证一次。
AD FS 2.0 : 更改AD FS服务通讯证书
如果您已经从证书颁发机构购买了SSL证书,请按照以下链接中的步骤来更新AD FS 2.0服务通信证书。
https://support.microsoft.com/en-in/help/2921805/how-to-change-the-ad-fs-2-0-service-communications-certificate-after-i
AD FS 3.0 :集成/穿透式验证无法工作
- 转到有活动目录的机器上
- 运行 "adsiedit.msc"(如果没有显示AD对象,点击动作-->连接并连接到AD)。
- 找到被配置为AD FS服务 "登录 "账户的账户
- 在其上点击右键并进入属性
- 在属性列表中,确保 "servicePrincipalName "属性的值是http/ADFS_Service_Name。例如,如果您的联合服务名称是adfs.example.com,那么在 "servicePrincipalName "属性中添加 "http/adfs.example.com "的值。
- 重新启动AD FS服务,然后尝试认证
Internet Explorer
请尝试以下
- 将AD FS登录网址添加到受信任网站(例如,"https://adfs.example.com "必须在受信任网站列表中),并尝试认证。
- 进入 "Internet选项"--->"高级 "选项卡,看看是否选择了 "启用集成Windows认证"。
- 进入Internet选项中的 "安全 "选项卡。检查AD FS URL所在的级别,例如 "内联网 "或 "受信任站点"。点击 "自定义级别",确保 "用当前用户名和密码自动登录 "被选中。
Firefox / Chrome / Edge
您可能会在Firefox/Chrome/Edge中反复出现登录凭证框。以下文章建议采取一些步骤来克服这个问题。
设置后,请尝试认证一次。
AD FS 3.0 - HTTP 400 请求错误
- 转到有活动目录的机器上
- 运行 "adsiedit.msc"(如果没有显示AD对象,点击动作-->连接并连接到AD)。
- 找到被配置为AD FS服务 "登录 "账户的账户
- 在其上点击右键并进入属性
- 在属性列表中,确保 "servicePrincipalName "属性的值是http/ADFS_Service_Name。例如,如果您的联合服务名称是adfs.example.com,那么在 "servicePrincipalName "属性中添加 "http/adfs.example.com "的值。
- 重启 AD FS 服务,然后尝试认证
更多详情,请参考这里: https://samlman.wordpress.com/2015/03/02/400-bad-request-error-with-adfs/
设置后,请尝试认证一次。
AD FS 3.0 - 变更服务通信证书
以下是您需要进行的步骤:
在计算机账户下的AD FS机器中导入您的新证书(带私钥)。
运行mmc并添加证书快照
找到新证书并进入所有任务-->"管理私钥"。 添加在AD FS服务中被配置为登录账户的账户
进入AD FS管理,设置服务通信证书
打开powershell提示符,输入: Set-AdfsSslCertificate -Thumbprint the-thumbprint-of-your-certificate
重新启动AD FS服务,然后尝试认证一次
详细步骤请见此处: http://www.blackmanticore.com/332874ac9a2f5e7bc6c05d6aef42fd3f
活动目录中的用户名变更:AD FS仍然使用旧的用户信息