将Google Chromeconfiguration为连接到使用Kerberosconfiguration并使用ADFS的AD

我正在尝试使用通过ADFS SAML / Kerberos端点和使用Shibboleth的Apache应用程序隧道化的Active Directory来configurationGoogle Chrome(和Firefox)进行身份validation。 这里有一些设置,我在每台机器内。

Active Directory设置:我正在使用configuration了Kerberos DES Encryption的Active Directory用户帐户,并且在Windows Server 2012 R2中也具有Kerberos预validation。

IE设置: Internet和可信站点的IE安全设置将用户身份validation设置为“使用当前用户名和密码自动login”(自动loginWindows当前用户)。 ADFS和Apache应用程序的域添加到允许的站点中。

Windows Server 2012 r2 ADFS设置: Windows Server 2012 r2使用ADFSconfiguration,且启用了SAML和Kerberos端点。

Shibboleth SP设置: Shibboleth SP运行在Apache中,并被configuration为使用SAML。

什么是成功的发生: Windows用户帐户可以成功login到任何Windows 7操作系统及以上使用IE9和最新。 Windows用户login到Apache应用程序后没有任何提示。 Windows用户立即转到配有Shibboleth SP的Apache应用程序。

怎么了? 无论何时我使用Google Chrome或Firefox,都不会立即转到安全的应用程序内容页面。 相反,它将Windows用户连接到ADFSlogin屏幕,并且login失败(因为它似乎使用Active Directory中的Kerberos设置,ADFS在login屏幕上不使用)。

目标:假设Google Chrome采用Internet Explorer的安全设置进行使用,login到Apache应用程序应该没有麻烦。

那么,如何正确configurationGoogle Chrome(或其他configuration)以允许Windows用户自动loginApache应用程序呢?

更新

错误我从Apache应用程序中得到以下错误:

openSAML::FatalProfileException at (https://c-app01.contoso.com/Shibboleth.sso/SAML2/POST) SAML response reported an IdP error. Error from identity provider: Status: urn:oasis:names:tc:SAML:2.0:status:Responder 

对于Chrome和Firefox,使用“系统login凭据”(Kerberos身份validation机制)有不同的configuration。

要configuration铬,你需要启动应用程序的以下参数:

  • auth-server-whitelist – 允许的FQDN – 设置IdP Server的FQDN。示例:

chrome –auth-server-whitelist =“* aai-logon.domain-a.com”

在“login页面”中可以find正确的FQDN:

login页面示例

火狐浏览器

要访问Firefox设置,请在地址栏中inputabout:config,然后按[Enter]。 这将为浏览器的当前安装带来一大堆可自定义的首选项。 您需要将IdP服务器的FQDN(完全限定的域名)添加到受信任的URI列表中:

  • network.negotiate-auth.trusted-uris – IdP服务器的FQDN。

configuration示例

在“login页面”中可以find正确的FQDN

Firefox – 高级configuration

注意:这些选项仅适用于“高级”用户! 如果您的操作系统没有集成GSSAPI(如某些Linux发行版)。 您可以指定您想要的外部库:

  • network.negotiate-auth.gsslib – (默认:空) – 指定一个备用的GSSAPI共享库。
  • network.negotiate-auth.using-native-gsslib – 通知如果“本机”
    (true)或外部(false)GSSAPI库将被使用。

以下是关于协商/authentication的其他设置:

  • network.negotiate-auth.delegation-uris(默认值:空) – 允许哪个FQDN凭证委托(可信)。
  • network.negotiate-auth.allow-proxies(默认值:true) – 使用negotiate方法启用代理身份validation。
  • network.auth.use-sspi(仅在Windows上,默认:true) – 是否使用Microsoft的SSPI库,如果禁用,则使用GSSAPI。