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

时间:2012-04-09 18:19:33

标签: sharepoint ssl adfs

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

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

  

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

这是我的设置

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

  • Windows 2008 R2
  • 已添加ADFS角色
  • 具有以下ADFS参数
    • 令牌签名证书“​​ sts.adfsaccount.spaccount.com
    • 联合身份验证服务URI
      • 瓮:联合会:accountprovider
    • 联盟服务端点网址
      • https://sts.adfsaccount.spaccount.com/adfs/ls/
  • 导出令牌签名证书并将其导入资源合作伙伴ADFS

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

  • Windows 2008 R2
  • 已添加ADFS角色
  • 具有以下ADFS参数
    • 令牌签名证书“​​ sts.staging.spresource.com
    • 联合身份验证服务URI
      • 瓮:联合会:resourceprovider
    • 联盟服务端点网址
      • https://sts.staging.spresource.com/adfs/ls/
  • 具有以下受信任的应用程序,即sharepoint
  • 导出令牌签名证书并将其导入帐户合作伙伴ADFS

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

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\Data\Certs\stsadfsaccount_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网址

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

由于 迪帕克

1 个答案:

答案 0 :(得分:3)

您似乎建议您使用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。

the ADFS 1.0 troubleshooting page描述了您的错误消息;引用:

  

条件:服务器错误

     

错误:无法履行带有网址https:// ...的应用的令牌请求,因为该网址未识别任何已知的信任应用

     

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

     

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

     

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

此外,如果您还不知道,对于ADFS 1.0,Microsoft创建了ADFS诊断工具;见this blog post to download。此工具可能在追踪此特定问题时非常有用。

希望这会有所帮助......