На прошлой неделе я провел много исследований по теме использования Single Sign On с SAML 2.0
. Я нашел много хороших статей, и я подробно разбираюсь в процессе SSO, но я сталкиваюсь с проблемами при реализации его в нашем решении C#
с .Net Framework 4.5.Внедрение единого входа в C# с использованием SAML 2.0
Позвольте мне описать мое понимание процесса и, как я полагаю, я должен идти о его применении:
Пользователь переходит к нашему программному обеспечению, которое является Провайдер услуг (SP). У нас есть разные экземпляры, урезанные для потребностей наших клиентов.
После ввода адреса электронной почты он должен быть перенаправлен в наш Identity Provider (IdP). На данный момент я считаю, что должен отправить токен аутентификации, чтобы проверить, не был ли пользователь еще не зарегистрирован на IdP. В случае, если пользователь, я хотел бы войти в систему пользователя в нашей системе. В противном случае он будет входить в систему на своем IdP.
- После успешной аутентификации мы отправляем токен
SAML
обратно на наш веб-сайт. - Когда маркер прибывает в наш конец, мы должны его расшифровать и, когда аутентификация была успешно выполнена, предоставит пользователю доступ к службе.
До сих пор я не нашел какие-либо хорошие ресурсы на самом процессе формирования запроса SAML или способ дешифровки нашего SAML
маркера в C#
коды.
Для тестирования мы используем ADFS 2.0 как IdP, и мы получаем ответ SAML
. Когда мы обработаем ответ, мы хотели бы сравнить информацию в нашей базе данных с электронной почтой в ответе, чтобы проверить детали пользователей, прежде чем вводить их в систему.
Примеры, которые я смог найти, либо устарели, либо не дают подробного объяснения. Если бы кто-нибудь мог осветить его для меня, либо предоставив некоторые примеры реализации, либо хороший и обновленный ресурс, который мне еще не удалось найти.
посмотреть на эти сообщения: [C# ASP.NET Single Sign-On Implementation] (http://stackoverflow.com/a/14309354/5588347) и [SSO с использованием SAML2.0 в asp.net] (http : //stackoverflow.com/questions/10794817/sso-using-saml2-0-in-asp-net) –
Возможно, это не по теме, но многие люди начинают рассматривать SAML как «устаревший» протокол для веб-SSO в поддержка oauth/openid connect. Если вы строите с нуля, вы можете быть более уверенным в будущем, идя по этому маршруту. –