带有 SharePoint 的 ADFS 2.0 未被识别为受信任的应用程序和抛出



我正在配置具有对第三方帐户提供商进行身份验证的 SharePoint POC,并遇到了几个问题,并遵循了 Microsoft 在 http://technet.microsoft.com/en-us/library/cc731443(v=ws.10).aspx 提供的文档。我看到的大多数文档都是针对 ADFS 2.0 RTW 的。

问题是当我尝试访问 SharePoint 网站时,我被重定向到帐户提供商 ADFS 网站,并弹出 NTLM 提示符。有一次,当我输入我的凭据时,我收到以下错误

无法满足对 URL 为"https://spadfsweb.spdev.com/_layouts/Authenticate.aspx?Source=/"的应用程序的令牌请求,因为该 URL 未标识任何已知的信任应用程序。

这是我的设置

ADFS 帐户提供程序(ADFS 角色和 DC 位于不同的计算机中)

  • 视窗 2008 R2
  • 添加了 ADFS 角色
  • 具有以下 ADFS 参数
    • 令牌签名证书"sts.adfsaccount.spaccount.com"
    • 联合身份验证服务 URI
      • 骨灰盒:联合:帐户提供者
    • 联合身份验证服务终结点 URL
      • https://sts.adfsaccount.spaccount.com/adfs/ls/
  • 导出令牌签名证书并将其导入资源伙伴 ADFS 中

ADFS 资源伙伴(ADFS 角色和 DC 位于不同的计算机中)

  • 视窗 2008 R2
  • 添加了 ADFS 角色
  • 具有以下 ADFS 参数
    • 令牌签名证书"sts.staging.spresource.com"
    • 联合身份验证服务 URI
      • 骨灰盒:联合:资源提供程序
    • 联合身份验证服务终结点 URL
      • https://sts.staging.spresource.com/adfs/ls/
  • 具有以下受信任的应用程序,即 SharePoint
    • https://spadfsweb.spdev.com/_trust/,我有如下所有组合
      • https://spadfsweb.spdev.com
      • https://spadfsweb.spdev.com/_layouts
  • 导出令牌签名证书并将其导入帐户合作伙伴 ADFS

以下是我如何配置SharePoint 网站的步骤

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:DataCertsstsadfsaccount_exporttokensign.cer")
New-SPTrustedRootAuthority -Name "Account Token Signing Cert" -Certificate $cert
$map = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" –SameAsIncoming
$ap = New-SPTrustedIdentityTokenIssuer -Name "Staging Provider"-Description "User account domain from adfs to provide authenitcation" -Realm "urn:federation:resourceprovider" -ImportTrustCertificate $cert -ClaimsMappings $map,$map2 -SignInUrl "https://sts.adfsaccount.spaccount.com/adfs/ls/" -IdentifierClaim http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

---SharePoint 具有资源提供程序的 URI、帐户伙伴的签名证书和帐户伙伴的 adfs URL

如果我做错了什么,请告诉我。

谢谢迪帕克

您似乎建议您使用的是 ADFS 1.0。 事实上,如果您按照您所说的遵循 http://technet.microsoft.com/en-us/library/cc731443%28v=ws.10%29.aspx,那么您已经配置了 ADFS 1.0,而不是后续的 AD FS 2.0。 在我看来,任何新部署都应该使用 AD FS 2.0。

ADFS 1.0 疑难解答页上描述了您的错误消息;引用:

条件:服务器错误

错误:具有 URL https://的应用程序的令牌请求...无法实现,因为 URL 未标识任何已知的信任应用程序

解决方案:当应用程序 URL 未标识任何已知应用程序时,资源联合身份验证服务将返回此错误。确保应用程序已添加到联合身份验证服务的信任策略中。有关如何执行此操作的详细信息,请参阅完成添加应用程序向导。

对于声明感知应用程序,请验证返回 URL 是否在应用程序的 web.config 文件中键入正确,并且它与联合身份验证服务的信任策略中指定的应用程序 URL 匹配。

对于基于 Windows NT 令牌的应用程序,请验证返回 URL 是否已在 IIS 的"ADFS Web 代理"选项卡上键入正确,并且它与联合身份验证服务的信任策略中的应用程序 URL 匹配。

另外,如果您还不知道,ADFS 1.0 Microsoft创建了 ADFS 诊断工具;请参阅此博客文章下载。 此工具在跟踪此特定问题时可能很有用。

希望这有帮助...

最新更新