我们正在尝试联合我们的应用程序,以便我们的客户可以使用各自的公司标识(Ping Identity或其ADFS服务器)获取我们的应用程序。
Web应用程序不具有声明权限,我们正在尝试找到一种联邦它的解决方案,而无需更改代码。
在我的实验室环境之后,我使用Windows Server 2012 R2构建了一个模拟未来场景的ADFS 3.0环境:
我们的一方:
客户方:
应用程序用户:
我按照以下步骤构建了我的实验室环境:
“domainB \ user1”访问应用程序没有问题,在我的WAP服务器中有以下事件:
Web应用程序代理成功代表用户检索了Kerberos票证。
Web应用程序代理收到带有有效边缘令牌的HTTP请求。
“domainA \ user2”无法访问并在屏幕上显示服务器错误,并且在WAP事件查看器中存在以下错误:
警告:EventID 13019 由于以下常规API错误,Web应用程序代理无法代表用户检索Kerberos票证:用户名或密码不正确。 (0x8007052e)。
错误:EventID 12027 Web应用程序代理在处理请求时遇到意外错误。 错误:用户名或密码不正确。 (0x8007052e)。
似乎是Kerberos身份验证的问题,但domainB \ user1访问应用程序没有问题。
需要了解:
我花了很多天才找出原因。 欣赏这里的任何方向。 感谢
答案 0 :(得分:0)
鉴于"非索赔感知"应用程序使WAP + ADFS使用WIA,而WIA需要Kerberos,您需要在WAP-B上为" domainA \ user2"发出Kerberos令牌,这反过来又需要在domainA和domainB之间设置域/林信任( domainB至少应该信任domainA。我没有看到域级信任,只有ADFS级别,因此Kerberos域domainB说"未知用户域A \ user2"。检查在domainA和domainB之间启用信任是否可以解决问题。
答案 1 :(得分:0)
对于域A中要访问该应用程序的用户,您需要域B中的Kerberos影子主体。这与通过天蓝色的应用程序代理访问天蓝色的B2B来宾用户的情况类似。这是一个通过Azure(https://docs.microsoft.com/en-us/azure/active-directory/b2b/hybrid-cloud-to-on-premises)进行同步设置的演练。对于您的情况,这将是相似的,只是您需要从用户目录中复制用户。