2017-01-11 8 views
3

На прошлой неделе я провел много исследований по теме использования Single Sign On с SAML 2.0. Я нашел много хороших статей, и я подробно разбираюсь в процессе SSO, но я сталкиваюсь с проблемами при реализации его в нашем решении C# с .Net Framework 4.5.Внедрение единого входа в C# с использованием SAML 2.0

Позвольте мне описать мое понимание процесса и, как я полагаю, я должен идти о его применении:

  1. Пользователь переходит к нашему программному обеспечению, которое является Провайдер услуг (SP). У нас есть разные экземпляры, урезанные для потребностей наших клиентов.

  2. После ввода адреса электронной почты он должен быть перенаправлен в наш Identity Provider (IdP). На данный момент я считаю, что должен отправить токен аутентификации, чтобы проверить, не был ли пользователь еще не зарегистрирован на IdP. В случае, если пользователь, я хотел бы войти в систему пользователя в нашей системе. В противном случае он будет входить в систему на своем IdP.

  3. После успешной аутентификации мы отправляем токен SAML обратно на наш веб-сайт.
  4. Когда маркер прибывает в наш конец, мы должны его расшифровать и, когда аутентификация была успешно выполнена, предоставит пользователю доступ к службе.

До сих пор я не нашел какие-либо хорошие ресурсы на самом процессе формирования запроса SAML или способ дешифровки нашего SAML маркера в C# коды.

Для тестирования мы используем ADFS 2.0 как IdP, и мы получаем ответ SAML. Когда мы обработаем ответ, мы хотели бы сравнить информацию в нашей базе данных с электронной почтой в ответе, чтобы проверить детали пользователей, прежде чем вводить их в систему.

Примеры, которые я смог найти, либо устарели, либо не дают подробного объяснения. Если бы кто-нибудь мог осветить его для меня, либо предоставив некоторые примеры реализации, либо хороший и обновленный ресурс, который мне еще не удалось найти.

+0

посмотреть на эти сообщения: [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) –

+0

Возможно, это не по теме, но многие люди начинают рассматривать SAML как «устаревший» протокол для веб-SSO в поддержка oauth/openid connect. Если вы строите с нуля, вы можете быть более уверенным в будущем, идя по этому маршруту. –

ответ

1

SAMl 2.0 - это не простой протокол, и, как вы обнаружили, это не так просто, чтобы катиться самостоятельно.

Используйте стопку на стороне клиента SAML.

Обратите внимание, что официальная версия Microsoft отсутствует.

См. SAML : SAML connectivity/toolkit для некоторых идей.

Это сделает весь тяжелый подъем и сантехнику для вас.

+0

Почему downvote? Проблема с использованием SAML-стека. Он кодирует/шифрует для вас. Или посмотрите на источник для руководства. – nzpcmad

 Смежные вопросы

  • Нет связанных вопросов^_^