Назад | Перейти на главную страницу

Невозможно установить свойства CORSEnabled и CORSTrustedOrigins в ADFS 2019

Эта проблема:

В ADFS 2019 есть свойства, указывающие, что вы можете включить заголовки CORS для страницы входа в ADFS и установить разрешенные источники.

Get-AdfsProperties

CORSEnabled                                : False
CORSTrustedOrigins                         : 

Но соответствующие Set-AdfsProperties не содержит переключателей для фактической установки этих свойств.

Итак, вот вопрос. Как удается установить эти свойства?

Полное раскрытие:

Мне удалось установить эти два параметра, подключившись к WID через SSMS и выгрузив XML, содержащий свойства из ServiceSettings table, изменив соответствующие свойства, а затем обновив XML в WID.

Get-AdfsProperties

CORSEnabled                                : True
CORSTrustedOrigins                         : {https://localhost:5001, https://localhost:8081}

Оно работает. Это нормально для моих целей тестирования, но никоим образом не подходит для среды CI / CD, которую я сейчас настраиваю, которая должна автоматически добавлять и удалять значения из CORSTrustedOrigins свойство.

Дополнительная информация:

Эти свойства являются новыми в ADFS 2019, ADFS 4.0 не поддерживает CORS, и единственный способ запустить это - поставить перед ним обратный прокси-сервер, чтобы поместить в ответ правильные заголовки CORS.

В настоящее время я пробую это решение, но у меня тоже возникают проблемы. Но это не вопрос.

Изменить 1:

Так как я любознательный разработчик, я начал использовать dotPeak на Microsoft.IdentityServer.Management компоненты, содержащие Set-AdfsProperties cmdlet и я сделал интересную находку. Нет реализации для установки CORSEnabled и CORSTrustedOrigins а также, похоже, существуют методы для добавления пользовательских заголовков к ответам, которые также не реализованы в командлете.

Таким образом, фактически нет способа использовать эти рекламируемые функции. За исключением прямого входа в базу данных для изменения XML. Что мне кажется некоторой оплошностью.

На всякий случай, если кто-то еще его ищет, вы можете установить его с помощью Set-AdfsResponseHeaders команда powershell

Set-AdfsResponseHeaders -EnableCORS $true
Set-AdfsResponseHeaders -CORSTrustedOrigins http://localhost, https://contoso.com
Get-AdfsProperties | select EnableCORS, CORSTrustedOrigins