none
ADFS 2.0服务器与外网服务器配置SSO的问题 RRS feed

  • 问题

  • 需求:

    在公司内网配置ADFS2.0, 与互联网第三方服务商ideascale进行集成, 配置好以后可以用公司AD账号登陆对方网站。对方已经提供关于集成的配置方式,但没有ADFS 2.0的配置。

    公司服务器信息如下:

    ADFS Server: adfs-hz.abc.com,加入域
    ADFS PROXY Server: adfs-proxy.abc.com,未加入域
    ADFS 服务账号:adfs

    问题:

    两个服务器证书无法信任,不知道如何去配置这个证书。

    安装步骤:

    1. 安装ADFS Server
    1). Install windows server 2008 R2
    2). 将服务器加入域
    3). 配置SPN
    setspn -a http/adfs-hz.abc.com abc\adfs
    setspn -a http/adfs-proxy.abc.com abc\adfs
    4).安装ADFS 2.0(包括IIS组建)
    5).生成和导入导出证书
    在ADFS IIS上创建域证书:adfs-hz.abc.com和adfs-proxy.abc.com,都导入到IIS里,并设置站点绑定,创建一个https 端口为443,证书为adfs-hz.abc.com,并导出adfs-proxy.abc.com证书为pfx文件,拷贝到adfs-proxy服务器
    6).在ADFS服务器上设置:
    在Powershell下运行:Set-ADFSProperties –AutoCertificateRollOver $False , 打开ADFS控制台--> ADFS 2.0\Services\Certificates 右击选择:“Add Token-Signing Certificate” ,增加adfs-proxy证书,并设置为primary,删除之前证书
    7).打开网页https://adfs-hz.abc.com/federationmetadata/2007-06/federationmetadata.xml,显示的是XML文件
    8).在ADFS服务器设置:Set-ADFSProperties –AutoCertificateRollOver $true
    9).在adfs-proxy服务器的IIS里导入adfs-proxy.abc.com证书,并设置绑定,https, 443端口,但双击证书提示:windows does not have enough information to verify this certificate.
    10).在adfs-proxy安装ADFS PROXY的时候,运行测试连接,提示:There is a problem with the SSL certificate of the specified Federation Service.

    2013年5月17日 9:28

答案

  • 是你们去访问对方的网站的话,你们应该是账号林,对方是资源林。昨天一漫不经心打成服务林了。

    如果是用第三方证书的话,相关证书就不用自己生成,直接在机器上安装就行了,然后还是导出导入步骤。


    • 已标记为答案 smallfish01 2013年5月30日 1:30
    • 已编辑 Flug 2013年5月30日 12:14
    2013年5月28日 10:20

全部回复

  • 另外我ADFS服务器用的是2008 server standard r2,听说不支持ADFS,不知道时候和这个有关?
    2013年5月17日 14:32
  • 您好!

    为了进一步帮助您解决该问题,请检查系统日志和应用程序日志,把相关错误事件的具体信息以及错误截图贴到论坛中来,包括事件ID、事件类型和事件描述。

    谢谢您的配合。


    微软一站式示例脚本库: http://blogs.technet.com/b/onescript

    2013年5月20日 10:00
    版主
  • 我想咨询一下,我ADFS和WEB PROXY装在同一台机器上是否可以?
    2013年5月23日 5:06
  • 我想咨询一下,我ADFS和WEB PROXY装在同一台机器上是否可以?
    看看是不是这个问题?

    ADFS and ADFS Proxy on same server
    http://community.office365.com/en-us/forums/613/t/54786.aspx

    Triumph Tech asking: Can I run ADFS 2.0 and my ADFS Proxy on the same server?

    Claud Wang (MSFT Support) answering: No. ADFS and ADFS Proxy cannot be installed at one same server currently.

    • 已建议为答案 Finy 2013年5月23日 6:15
    2013年5月23日 6:15
  • FS的证书在FS上自建,Proxy的证书在Proxy上自建。然后互相导入。

    你步骤哪里看的?严格按照英文TN的做法就不会有问题。

    2013年5月23日 7:43
  • 你这个相互导入的证书是自己服务器生成的,不会被外部信任的吧。

    我的参考过官方步骤,但实际环境不一样,所以我想不适合的

    2013年5月23日 8:43
  • 把自签发证书都导入到 "受信任的根证书颁发机构" 还会有那两报错吗?
    2013年5月23日 10:01

  • 在ADFS IIS上创建域证书:adfs-hz.abc.com和adfs-proxy.abc.com,都导入到IIS里,并设置站点绑定,创建一个https 端口为443,证书为adfs-hz.abc.com,并导出adfs-proxy.abc.com证书为pfx文件,拷贝到adfs-proxy服务器

    你自己写的都是用自签名证书

    步骤混乱

    最关键的是,都已经说了:你把证书的出处搞错了

    实际什么不一样,你又没说。

    把各证书的用处,导入导出关系先搞清楚

    2013年5月23日 10:55
  • 我做的只是按文档做成功过。当然在允许范围内压缩过机器数量。是用了五台机器吧应该...快记不起来了。

    先说你们是用Federated Web SSO?还是Web SSO?不是用有林信任的那类吧?

    是帐号林,不是服务林吧?

    你现在是:

    对方林已经设置好?

    自己需要设置本身的林?那对方对你这边的信任呢?问你们要证书和信任策略没?

    你说了些证书信任问题,那对方给过你们什么第三方证书吗?有过什么要求?你觉得有自签名证书问题,那你们有自己的内部证书服务器吗?对方说了愿意信任你们吗(我觉得不会太可能)?

    说实话,我当时就觉得FS相对于得到的结果要求做得太多,如果不是非常大的规模使用恐怕都不一定划得来。在应用有限的情况下,我真有点怀疑能不能找到合适的专门FS程序供应商。所以这项目的情况还要看你们的合作方,可没办法保证一定能做成功。

    总之,做为回答的文档这里:http://technet.microsoft.com/en-us/library/cc772128(v=ws.10).aspx

    • 已编辑 Flug 2013年5月29日 9:21
    2013年5月27日 13:03
  • 我现在配置adfs web proxy的时候提示:

    Unable to establish a trust between the federation server proxy and the Federation Service. Ensure that the provided credentials are valid credentials for establishing a trust or ensure that the Federation Service address is correct, and then try again.

    查看adfs web proxy 日志提示:

    The federation server proxy could not establish a trust with the Federation Service.

    Additional Data
    Exception details:
    MSIS3126: Access denied.

    User Action
    Ensure that the credentials being used to establish a trust between the federation server proxy and the Federation Service are valid and that the Federation Service can be reached.

    查看ADFS 服务器日志发现:

    The Federation Service could  not authorize token issuance for caller 'domain\adfs
    '. The caller is not authorized to request a token for the relying party 'https://adfs.domain.com/adfs/services/trust/proxytrustprovision'. Please see event 501 with the same instance id for caller identity.

    Additional Data
    Instance id: b18c7e1f-3e27-4dfa-a1ec-448d4a97b392
    Relying party: https://adfs.domain.com/adfs/services/trust/proxytrustprovision
    Exception details:
    Microsoft.IdentityServer.Service.IssuancePipeline.CallerAuthorizationException: MSIS5007: The caller authorization failed for caller identity AEROHIVE\adfs for relying party trust https://adfs.domain.com/adfs/services/trust/proxytrustprovision.
       at Microsoft.IdentityModel.Threading.AsyncResult.End(IAsyncResult result)
       at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.ProcessCoreAsyncResult.End(IAsyncResult ar)
       at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.EndProcessCore(IAsyncResult ar, String requestAction, String responseAction, String trustNamespace)
    User Action
    Use the AD FS 2.0 Management snap-in to ensure that the caller is authorized to request a token for the relying party.

    2013年5月28日 5:44
  • 是你们去访问对方的网站的话,你们应该是账号林,对方是资源林。昨天一漫不经心打成服务林了。

    如果是用第三方证书的话,相关证书就不用自己生成,直接在机器上安装就行了,然后还是导出导入步骤。


    • 已标记为答案 smallfish01 2013年5月30日 1:30
    • 已编辑 Flug 2013年5月30日 12:14
    2013年5月28日 10:20
  • 谢谢,现在配置的差不多了,最大的问题解决了。网上官方参考的文档还是有遗漏的地方。

    现在还有最后一步登陆的问题,已经和合作方联系了。

    再次感谢您的耐心解答,谢谢!

    2013年5月30日 1:30