Использование Kentor.AuthServices.StubIdp в качестве производственного IDP

Я пытаюсь реализовать сервер IDP (SAML2) внутри моего приложения. Я не хочу, чтобы кто-либо из моих партнеров просил наших клиентов зарегистрироваться на их стороне, учитывая, что в моем приложении есть все необходимые данные.

Я не очень знаком с протоколом SAML2. Я нашел проект Kentor.AuthServices.StubIdp самым интересным, потому что он реализует все, что мне нужно. Я также знаю, что он не построен для производственных целей.

Я планировал построить IDP поверх StubIdp, потому что я не могу позволить себе дорогие решения, такие как ComponentPro.

Есть ли лучшие альтернативы? Является ли строительство на вершине StubIdp хорошей идеей?

1 ответ

Решение

Войти в SAML2 можно двумя способами:

  1. Инициированный SP, когда SP отправляет AuthnRequest Idp, и Idp отвечает SamlResponse.
  2. Idp-initaited, где Idp отправляет незапрошенный SamlResponse.

Kentor.AuthServices (библиотека, которая управляет StubIdp) содержит все необходимое для входа в систему, инициированного Idp. Посмотрите в исходном коде Stub Idp, как это делается.

Правильно выполнить SP-инициированный вход в систему сложнее, поскольку Idp должен выполнить некоторую проверку входящего AuthnRequest. Эти проверки полностью отсутствуют в Stub Idp (это своего рода идея для среды тестирования). Реализация SP-инициированного входа в систему определенно возможна, но для его безопасного выполнения требуется гораздо больше работы.

Другие вопросы по тегам