小编Tho*_*zar的帖子

无法在 ADFS 2019 上设置 CORSEnabled 和 CORSTrustedOrigins 属性

问题:

ADFS 2019 中有一些属性表明您可以为 ADFS 登录页面启用 CORS 标头并设置允许的来源。

Get-AdfsProperties

CORSEnabled                                : False
CORSTrustedOrigins                         : 
Run Code Online (Sandbox Code Playgroud)

但是相应的Set-AdfsProperties列表没有开关来实际设置这些属性。

那么问题来了。如何设法设置这些属性?

全面披露:

我设法通过 SSMS 连接到 WID 并转储包含ServiceSettings表中属性的 XML ,更改适当的属性,然后更新 WID 中的 XML,从而实际设置了这两个选项。

Get-AdfsProperties

CORSEnabled                                : True
CORSTrustedOrigins                         : {https://localhost:5001, https://localhost:8081}
Run Code Online (Sandbox Code Playgroud)

有用。这对于我的测试目的来说是可以的,但对于 CI/CD 环境来说绝对不行,我目前正在设置需要自动从CORSTrustedOrigins属性中添加和删​​除值的过程 。

附加信息:

这些属性是 ADFS 2019 中的新属性,ADFS 4.0 不支持 CORS,运行该属性的唯一方法是在其前面放置一个反向代理,以便在响应中放置正确的 CORS 标头。

我目前正在尝试该解决方案,但我也遇到了问题。但这对这个问题来说不算什么。

编辑1:

因此,因为我是一个好奇的开发人员,所以我开始在Microsoft.IdentityServer.Management包含Set-AdfsPropertiescmdlet的组件上使用 dotPeak ,我发现了一个有趣的发现。没有设置CORSEnabled和的实现,CORSTrustedOrigins似乎有方法可以将自定义标头添加到 cmdlet 中未实现的响应中。

所以基本上没有办法实际使用这些宣传的功能。除了进入数据库直接更改XML。这在我看来有点疏忽。

adfs cors windows-server-2019

3
推荐指数
1
解决办法
2433
查看次数

标签 统计

adfs ×1

cors ×1

windows-server-2019 ×1