.net – 如何在Windows 2016 RTM ADFS上为富客户端或Web应用程序
我以前有一个使用
Windows 2012 R2 ADFS进行身份验证的富客户端,并将其记录为
here.我们正在转向Windows 2016 RTM ADFS(因为2012 R2不能正确支持Web Apps / ADAL.js),我正在努力翻译/扩展配置工作.无论我做什么,当客户端点击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”);' 但是,我已经采用了这些解决方案显示的确切代码,并尝试手动将访问控制策略设置为“允许所有人”(默认),或者使用-IssuanceAuthorizationRules设置,并且都没有解决此问题. 有没有人在Win 2016 RTM上有这个错误或ADFS体验的其他解决方案? 解决方法
好的,我有这个工作.与Windows 2012 R2上的ADFS相比,还有一些其他配置.
在Windows Server 2016 ADFS上,我们需要设置一个应用程序组,它将一个或多个客户端链接到他们希望使用的服务(依赖方). 打开ADFS管理控制台,在左侧右键单击“应用程序组”和“添加应用程序组…” 选择一个客户端 – 服务器模板允许您在向导的一次传递中设置链接的客户端和服务器.如果像我一样,您已经定义了客户端应用程序,则可以选择独立Web Api并稍后链接现有客户端. 在这种情况下,向导的第2页只需要Web Api标识符 – 目标资源URL或其他字符串标识符(它在ADFS上的所有依赖方之间必须是唯一的). 在第3页上,您选择了一个访问控制策略 – 我采用默认值而不是“Permit Everyone”. 在第4页上,您可以添加需要令牌的现有客户端以访问顶部面板中的Web API,并指定允许的范围:例如OpenID Connect授权或请求刷新令牌的功能. 就是这样.这摆脱了客户端被禁止为我访问资源错误.我没有必要使用其他帖子中描述的自定义-IssuanceAuthorizationRules. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |