Не удается установить свойства CORSEnabled и CORSTrustedOrigins в ADFS 2019
Эта проблема:
В 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.
В настоящее время я пробую это решение, но у меня тоже возникают проблемы. Но это ничего не значит для этого вопроса.
Изменить 1:
Так как я любознательный разработчик, я начал использовать dotPeak на Microsoft.IdentityServer.Management
компоненты, которые содержат Set-AdfsProperties
и я сделал интересную находку. Нет реализации для установки CORSEnabled
а также CORSTrustedOrigins
а также, кажется, существуют методы для добавления пользовательских заголовков к ответам, которые также не реализованы в командлете.
Так что в принципе не существует способа использовать эти рекламируемые функции. За исключением входа в базу данных для непосредственного изменения XML. Что выглядит для меня как недосмотр.
1 ответ
На всякий случай, если кто-то еще ищет его, вы можете установить его с помощью Set-AdfsResponseHeaders
команда powershell
Set-AdfsResponseHeaders -EnableCORS $true
Set-AdfsResponseHeaders -CORSTrustedOrigins http://localhost, https://contoso.com
Get-AdfsProperties | select EnableCORS, CORSTrustedOrigins