Как предоставить метаданные WS-Federation в ASP.NET MVC 5? - PullRequest
1 голос
/ 02 мая 2019

У меня есть приложение SAAS, построенное с ASP.NET MVC 5, и у меня есть несколько клиентов, которые обращаются к моему приложению через проверку подлинности с помощью форм, и это работает нормально, но один из моих клиентов, крупная корпоративная компания, потребовал, чтобы я внедрил единый знак-на.Я не уверен, что мне нужно установить / реализовать на моей стороне.Этот клиент требовал использования федерации, он должен быть реализован через отраслевой стандарт WS-Federation, и я должен предоставить метаданные WS-Federation через конечную точку веб-протокола, чтобы они были доступны их IDP.Им также требовалось использовать привязку артефактов HTTP SAML 2.0.

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Как правило, вам нужно только сгенерировать метаданные один раз, а затем сделать их доступными для IdP через URL-адрес или в виде файла XML. Метаданные будут содержать информацию о вашем SP, такую ​​как аудитория, URL-адрес перенаправления, какие утверждения вы запрашиваете, ключи сертификата и т. Д. Идея состоит в том, что человеку, настраивающему его на стороне IdP, не нужно вводить их вручную, и он может просто импортировать метаданные; это также спасает их от обновления настроек вашего SP, если что-то изменится (например, ключи вашего сертификата). Но настройка WS-Federation (я полагаю, в рамках ADFS на их стороне) возможна, если вы сможете убедить их в том, что настройка метаданных будет большой задачей. Вам необходимо предоставить три основных вида информации:

  • Ваше царство (идентификатор вашего SP)
  • URL вашего ответа (где IdP отправит обратно SAML)
  • Утверждения, которые вы хотите в SAML (имя пользователя, адрес электронной почты и т. Д.)

Вы также можете использовать онлайн-инструмент для генерации одноразовых метаданных, которые затем можно разместить на своем сайте или поделиться с IdP по электронной почте.

1 голос
/ 02 мая 2019

То есть вы действуете как ВПЛ?

Вы должны использовать WS-Fed или SAML 2.0. Вы не будете использовать оба.

Для обоих протоколов необходим стек на стороне сервера.

Не знает ни о каком стеке WS-Fed на стороне сервера, но для SAML вы можете использовать тот из ComponentSpace. Это поддерживает связывание артефактов.

Имейте в виду, что это самая сложная привязка SAML для работы, поскольку она также требует внеполосного соединения SOAP.

Спросите, поддерживают ли они HTTP-привязку или привязки перенаправления?

Ваша другая альтернатива - использовать что-то вроде Auth0 или Okta.

...