Authentication ADFS 3.0和无索赔意识的应用程序、身份验证问题

Authentication ADFS 3.0和无索赔意识的应用程序、身份验证问题,authentication,claims-based-identity,claims,adfs3.0,Authentication,Claims Based Identity,Claims,Adfs3.0,我们正在尝试联合我们的应用程序,以便我们的客户可以使用他们各自的公司身份(Ping身份或他们的ADFS服务器)访问我们的应用程序 web应用程序不支持声明,我们正试图找到一种解决方案,在不更改代码的情况下将其联合起来 我构建了一个ADFS 3.0环境,使用windows server 2012 R2模拟未来场景,遵循我的实验室环境: 我方: 1个Active Directory服务器(域B) 1 IIS8 web服务器和我们在domainB上加入的非声明感知应用程序(Kerberos机制支持的

我们正在尝试联合我们的应用程序,以便我们的客户可以使用他们各自的公司身份(Ping身份或他们的ADFS服务器)访问我们的应用程序

web应用程序不支持声明,我们正试图找到一种解决方案,在不更改代码的情况下将其联合起来

我构建了一个ADFS 3.0环境,使用windows server 2012 R2模拟未来场景,遵循我的实验室环境:

我方:

  • 1个Active Directory服务器(域B)
  • 1 IIS8 web服务器和我们在domainB上加入的非声明感知应用程序(Kerberos机制支持的Windows集成身份验证)
  • 1个ADFS 3.0服务器(服务提供商)在域B上加入
  • 已在域B上加入1个WAP服务器
客户方:

  • 1活动目录(域)
  • domainA上加入了1台ADFS 3.0服务器(身份提供程序)
应用程序用户:

  • 域B\user1
  • 域\用户2
我按照以下步骤构建实验室环境:

  • 在domainB上安装和配置ADFS 3.0
  • 在domainB上安装和配置WAP服务器
  • 在域B的WAP服务器上发布ADFS 3.0
  • 在domainB上的ADFS 3.0上创建指向应用程序的非声明感知依赖方信任
  • 在domainB上将非索赔通知发布到WAP
  • 在domainA上安装和配置ADFS 3.0
  • 信任域B上的ADFS 3.0和域B上的ADFS 3.0
  • 编辑每个联邦成员服务器上的声明规则
  • “domainB\user1”访问应用程序没有问题,在我的WAP服务器中存在以下事件:

    Web应用程序代理代表用户成功检索Kerberos票证

    Web应用程序代理收到带有有效边缘令牌的HTTP请求

    “domainA\user2”无法访问,屏幕上出现服务器错误,WAP事件查看器中出现以下错误:

    警告:EventID 13019 Web应用程序代理无法代表用户检索Kerberos票证,因为出现以下常规API错误:用户名或密码不正确。 (0x8007052e)

    错误:EventID 12027 Web应用程序代理在处理请求时遇到意外错误。 错误:用户名或密码不正确。 (0x8007052e)

    Kerberos身份验证似乎有问题,但domainB\user1访问应用程序没有问题

    需要了解:

    • 问题在哪里
    • 只有web应用程序服务器同一域的用户成员才支持访问非声明感知应用程序
    我花了很多天来找出原因。 感谢您的指点。
    谢谢

    鉴于“非声明感知”应用程序使WAP+ADF使用WIA,并且WIA需要Kerberos,您需要在WAP-B上为“domainA\user2”颁发Kerberos令牌,这反过来需要在domainA和domainB之间设置域/林信任(domainB至少应该信任domainA)。我看不到存在域级别的信任,只有ADFS级别的信任,因此Kerberos域domainB显示“未知用户domainA\user2”。检查启用域A和域B之间的信任是否可以解决此问题。

    对于域A中将访问应用程序的用户,您需要域B中的Kerberos影子主体。这与azure B2B来宾用户通过azure应用程序代理访问应用程序的情况类似。这是一个使用Azure()同步设置的演练。这与您的情况类似,只是您需要从用户的目录复制用户