Включить Windows Identity Foundation в докере

В нашем текущем проекте мы разрабатываем приложение ASP.net MVC, размещенное в контейнере Docker (Docker Desktop для Windows), используя образ ядра сервера Windows (https://hub.docker.com/r/microsoft/windowsservercore/). Все работает хорошо, но теперь мы хотели бы использовать Windows Identification Foundation (WIF) для аутентификации с помощью ADFS.

К сожалению, образ Windows Server Core для докера не поддерживает функцию WIF и не может быть установлен.

Кто-нибудь знает, как использовать WIF внутри док-контейнера, и/или имеет опыт установки этой функции в этот образ?

Является ли это альтернативным изображением с включенной функцией?

Подобные темы без докера, такие как:

  1. https://support.microsoft.com/en-us/help/3044149/you-can-t-install-windows-identity-foundation-in-windows-core
  2. https://blogs.technet.microsoft.com/server_core/2012/05/09/configuring-the-minimal-server-interface/

Не помогло.


person mugbi    schedule 12.08.2017    source источник
comment
Можно ли использовать пакет NuGet OWIN WS-Fed?   -  person rbrayb    schedule 13.08.2017
comment
Мы еще не оценили пакет OWIN WS-Fed. Возможно, это хорошая идея, спасибо!   -  person mugbi    schedule 14.08.2017


Ответы (2)


Я знаю, что это старый вопрос, но недавно я столкнулся с той же проблемой и хотел поделиться решением, которое мне удалось найти. В моем случае я работал с устаревшим программным решением, которое ссылалось на «Microsoft.IdentityModel.dll» (установлено WIF), и было не так просто просто переключить его на что-то другое.

Я установил WIF на свой ноутбук (Windows 10), а затем добавил файл в образ докера.

C:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5\Microsoft.IdentityModel.dll

Затем добавьте сценарий PowerShell в файл DOCKERFILE, чтобы вручную установить эту сборку в GAC. Вот хороший пост в блоге, показывающий, как это сделать:

https://www.andrewcbancroft.com/2015/12/16/using-powershell-to-install-a-dll-into-the-gac/

Надеюсь, поможет!

person Justin Carlson    schedule 11.03.2018

Мы могли бы решить наши проблемы с помощью OWIN.

Бас Лийтен опубликовал хороший учебник по этому вопросу: http://blog.baslijten.com/configure-claims-based-web-applications-using-owin-wsfederation-middleware/

Мы настроили использование WS-Fed с Owin, но не использовали Embedded STS. Вместо этого мы создали автономный экземпляр сервера идентификации для проверки интеграции с ADFS. На GitHub вы можете найти пример такой конфигурации сервера идентификации:

https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/SelfHost%20(InMem%20with%20WS-Fed)

person mugbi    schedule 23.08.2017