#asp-classic #saml
#asp-classic #saml
Вопрос:
Я новичок в реализации единого входа в SAML 2.0. Моему клиенту необходимо предоставить им единый вход на мой веб-сайт classic asp с помощью браузера SAML 2.0 / профиля публикации. Мой клиент предоставит мне метаданные xml и сертификат, но я не знаю решения, которое я предоставлю вместе с ними.
Возможно ли создать браузер SAML 2.0 / профиль публикации на моем веб-сайте classic asp? Какие задачи и решения мне нужно выполнить?
Пожалуйста, сообщите. Заранее спасибо за помощь.
Ответ №1:
Конечно, возможно, хотя в классической среде ASP могут возникнуть некоторые проблемы. Знаете ли вы, будете ли вы выступать в качестве поставщика удостоверений личности или поставщика услуг в этой настройке единого входа? Судя по всему, я ожидал бы от поставщика услуг — в этом случае вам нужно будет проанализировать и проверить входящие утверждения SAML, а также, возможно, отправить запросы аутентификации SAML IdP. Метаданные, предоставляемые вашим партнером, помогут вам определить, какие протоколы / URL-адреса / сертификаты они будут использовать.
Для работы с протоколом SAML вы могли бы заново изобрести колесо, написав свой собственный код на ASP. Конечно, это отнимет много времени и будет рискованно, было бы проще, если бы вы использовали проверенное решение. Могут быть некоторые, но я не знаю ни о каких бесплатных реализациях ASP с открытым исходным кодом, поэтому вы можете рассмотреть коммерческое решение, такое как Component Space (http://www.componentspace.com / — хотя для этого потребуется .NET), или что-то вроде PingFederate Express, который предлагает простой подключаемый модуль IIS (http://www.pingidentity.com/our-solutions/pingfederate-express.cfm ).
Комментарии:
1. Спасибо за объяснение. Похоже, что сертификат находится в базе X509Certificate на основе метаданных. Если я не буду использовать какое-либо коммерческое решение, какие шаги необходимо выполнить? Я видел какой-то пример, хотя он реализован в .net codeproject.com/KB/aspnet/DotNetSamlPost.aspx?display=Print . Какова будет цель метаданных и сертификата, если я буду использовать этот подход? Еще раз спасибо за помощь.
2. Метаданные сообщают вам, какие части протокола SAML 2.0 поддерживает ваш партнер, наряду с URL-адресами их «конечных точек» (в основном, их ответчиков, которые будут интерпретировать запросы / ответы SAML). Сертификат, содержащийся внутри, скорее всего, является общедоступным сертификатом проверки, который соответствует закрытому ключу, используемому для цифровой подписи их утверждений SAML. Крайне важно, чтобы вы подтвердили подпись со своей стороны — и, надеюсь, также выполнили проверку отзыва — в противном случае это открывает дверь для хакеров, подделывающих утверждение.
3. Спасибо, я ценю ваше объяснение. Однако означает ли это, что аутентификация при входе на мой веб-сайт classic asp будет отменена? и если мой клиент войдет в систему с помощью этого сайта и нажмет на ссылку, которая указывает на наш сайт, он будет автоматически аутентифицирован. Пожалуйста, поправьте меня, если я ошибаюсь. Еще раз спасибо.
4. Это возможно, да. Многие интеграции с системой единого входа SAML в SP просто перенаправляют на IdP для аутентификации всех пользователей. Вам не нужно этого делать — у вас может быть промежуточная страница входа, которая имеет ту же форму входа, что и сегодня, с простой ссылкой для аутентификации через IdP вместо этого. Пользователь в IdP действительно сможет перейти по ссылке, чтобы отправить «нежелательный» ответ аутентификации (содержащий утверждение SAML) для аутентификации в вашем SP. Впускаете ли вы всех или нет, зависит от вас; это полностью зависит от того, как вы сопоставляете локальные учетные записи с информацией, представленной в утверждении SAML.
Ответ №2:
Вы могли бы обернуть классы обработки .NET SAML в библиотеку COM. У меня есть похожий проект, и, похоже, это то, что мне нужно будет сделать.
Ответ №3:
Скотт Т. прав. PFE — это одна из возможностей, если ваш клиент также использует PF. Если бы вы использовали PingFederate (PF), вы могли бы либо использовать наш (я работаю на PI.com ) Подключаемый модуль IIS или набор безагентной интеграции (сегодня у нас есть довольно много приложений, поддерживающих классический ASP таким образом), чтобы быстро добавить поддержку SAML в ваше приложение. Использование PF позволило бы вам поддерживать SAML 2.0/1.1/1.0/ WS-Fed / OpenID (и другие) одновременно с единой, простой и безопасной интеграцией в ваше приложение. Проверьте http://www.pingidentity.com/partners/SaaS-Partner-Program.cfm для получения дополнительной информации.
—Иэн