首页 文章

如何在Windows 2016 RTM ADFS上为富客户端或Web应用程序配置客户端和信赖方信任?

提问于
浏览
2

我以前有一个富客户端使用Windows 2012 R2 ADFS进行身份验证并将其记录为here . 我们正在转向Windows 2016 RTM ADFS(因为2012 R2不能正确支持Web Apps / ADAL.js),我正在努力将该配置转换/扩展 . 无论我做什么,当客户 endpoints 击ADFS时我很快就会收到错误:

MSIS9321: Received invalid OAuth request. The client 'LL957F23-D6C5-4D52-8A40-4F26B3408888' is forbidden to access the resource '<relying-party-url>'

我已经针对ADFS 2016的预览版本找到了几个对此问题的响应,并且都提出了相同的解决方案 - 使用powershell设置依赖方并指定以下选项:

-IssuanceAuthorizationRules '=> issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = “true”);'

但是,我已经采用了这些解决方案显示的确切代码,并尝试将访问控制策略手动设置为“Permit Everyone”(默认值),或者使用-IssuanceAuthorizationRules设置,并且都没有解决此问题 .

有没有其他解决方案可以解决此错误或Win 2016 RTM上的ADFS体验?

1 回答

  • 6

    好的,我有这个工作 . 与Windows 2012 R2上的ADFS相比,还有一些其他配置 .

    在Windows Server 2016 ADFS上,我们需要设置一个应用程序组,该组将一个或多个客户端链接到他们希望使用的服务(依赖方) .

    打开ADFS管理控制台,在左侧右键单击“应用程序组”和“添加应用程序组...”

    选择一个客户端 - 服务器模板允许您在向导的一次传递中设置链接的客户端和服务器 . 如果像我一样,您已经定义了客户端应用程序,则可以选择独立Web Api并稍后链接现有客户端 .

    在这种情况下,向导的第2页只需要Web Api标识符 - 目标资源URL或其他字符串标识符(它在ADFS上的所有依赖方之间必须是唯一的) .

    在第3页上,您选择了一个访问控制策略 - 我采用默认值而不是“Permit Everyone” .

    在第4页上,您可以添加需要令牌的现有客户端以访问顶部面板中的Web API,并指定允许的范围:例如OpenID Connect授权或请求刷新令牌的功能 .

    就是这样 . 这为我摆脱了 The client is forbidden to access the resource 错误 . 我没有必要使用其他帖子中描述的自定义 -IssuanceAuthorizationRules .

相关问题