Использование Kentor.AuthServices.StubIdp в качестве производственного IDP
Я пытаюсь реализовать сервер IDP (SAML2) внутри моего приложения. Я не хочу, чтобы кто-либо из моих партнеров просил наших клиентов зарегистрироваться на их стороне, учитывая, что в моем приложении есть все необходимые данные.
Я не очень знаком с протоколом SAML2. Я нашел проект Kentor.AuthServices.StubIdp самым интересным, потому что он реализует все, что мне нужно. Я также знаю, что он не построен для производственных целей.
Я планировал построить IDP поверх StubIdp, потому что я не могу позволить себе дорогие решения, такие как ComponentPro.
Есть ли лучшие альтернативы? Является ли строительство на вершине StubIdp хорошей идеей?
1 ответ
Войти в SAML2 можно двумя способами:
- Инициированный SP, когда SP отправляет AuthnRequest Idp, и Idp отвечает SamlResponse.
- Idp-initaited, где Idp отправляет незапрошенный SamlResponse.
Kentor.AuthServices (библиотека, которая управляет StubIdp) содержит все необходимое для входа в систему, инициированного Idp. Посмотрите в исходном коде Stub Idp, как это делается.
Правильно выполнить SP-инициированный вход в систему сложнее, поскольку Idp должен выполнить некоторую проверку входящего AuthnRequest. Эти проверки полностью отсутствуют в Stub Idp (это своего рода идея для среды тестирования). Реализация SP-инициированного входа в систему определенно возможна, но для его безопасного выполнения требуется гораздо больше работы.