症状
访问以前使用基于声明的身份验证连接到 Microsoft Dynamics CRM 后使用 AD FS 和窗体身份验证的应用程序(如 SharePoint)时,被动联合请求会失败,并出现以下错误:在联合被动请求期间遇到
错误。
其他数据协议名称:信赖方:
异常详细信息
:Microsoft.IdentityServer.RequestFailedException:MSIS7065:路径 /adfs/ls/ 上没有已注册的协议处理程序来处理传入请求。
在 Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext (WrappedHttpListenerContext 上下文) 注销方案:在下面的"令牌过期"对话框显示
20 分钟之前,显示"登录"或"取消"选项。 单击"登录"不会重定向到 ADFS 登录页,提示输入用户名和密码。 而是显示一个"已签名的 ADFS"页。 参考 -基于声明的身份验证和安全令牌过期。
原因
此问题是由 AD FS 命名空间的域Microsoft Dynamics CRM发布的重复 MSISAuth Cookie 导致的。 此 Cookie 名称不唯一,当访问其他应用程序(如 SharePoint)时,它显示重复的 Cookie。 这会导致身份验证失败。
"已注销"方案是由用户以域 cookie Microsoft Dynamics CRM的注销 cookie 导致的,请参阅以下示例。 此 Cookie 是域 Cookie,在呈现给 ADFS 时,会考虑整个域,例如 *.contoso.com/。 这会导致重新身份验证流失败,并且 ADFS 显示"注销"页。
Set-Cookie: MSISSignOut=;domain=contoso.com;path=/;secure;HttpOnly
解决方案
若要解决此问题,需使用子Microsoft Dynamics CRM(如 crm.domain.com)配置域。 这需要其他通配符证书,例如 *.crm.domain.com。
执行这些更改后,需要使用正确的终结点来重新配置基于声明的身份验证和 IFD,如下所示:
-
auth.<域>.domain.com
-
dev.<子域>.domain.com
-
org.<子域>.domain.com
更多信息
有关为 Microsoft Dynamics CRM 配置基于声明的身份验证和 IFD 的其他详细信息,请参阅以下链接:为 Microsoft Dynamics CRM 服务器配置基于声明的
身份验证