В ADFS 2019 есть свойства, указывающие, что вы можете включить заголовки CORS для страницы входа в ADFS и установить разрешенные источники.
Get-AdfsProperties
CORSEnabled : False
CORSTrustedOrigins :
Но соответствующий Set-AdfsProperties
не перечисляет никаких переключателей для фактической установки этих свойств.
Итак, вот в чем вопрос. Как удается установить эти свойства?
Мне удалось фактически установить эти два параметра, подключившись к WID через SSMS и выгрузив XML, содержащий свойства из таблицы ServiceSettings
, изменив соответствующие свойства, а затем обновление XML в WID.
Get-AdfsProperties
CORSEnabled : True
CORSTrustedOrigins : {https://localhost:5001, https://localhost:8081}
Это работает. Это подходит для моих целей тестирования, но никоим образом не подходит для среды CI / CD, которую я сейчас настраиваю, чтобы автоматически добавлять и удалять значения из свойства CORSTrustedOrigins
.
Эти свойства являются новыми в ADFS 2019, ADFS 4.0 не поддерживает CORS, и единственный способ запустить это - поставить перед ним обратный прокси-сервер, чтобы поместить правильные заголовки CORS в ответ.
В настоящее время я пытаюсь использовать это решение, но у меня тоже возникают проблемы. Но это не вопрос.
Итак, поскольку я любознательный разработчик, я начал использовать dotPeak в компонентах Microsoft.IdentityServer.Management
, содержащих набор -AdfsProperties
и я сделал интересную находку. Не существует реализации для установки CORSEnabled
и CORSTrustedOrigins
, а также, похоже, существуют методы для добавления пользовательских заголовков к ответам, которые также не реализованы в командлете.
Таким образом, фактически нет способа использовать эти рекламируемые функции. За исключением входа в базу данных для непосредственного изменения XML. Что мне кажется некоторой оплошностью.
На тот случай, если кто-то еще его ищет, вы можете установить его с помощью Set-AdfsResponseHeaders
команды powershell
Set-AdfsResponseHeaders -EnableCORS $true
Set-AdfsResponseHeaders -CORSTrustedOrigins http://localhost, https://contoso.com
Get-AdfsProperties | select EnableCORS, CORSTrustedOrigins