SSO / SAML с приложением .NET - PullRequest
       0

SSO / SAML с приложением .NET

0 голосов
/ 07 декабря 2018

Фон

У меня есть приложение .NET (не MVC или ASP.NET) (которое является плагином Excel), которое выполняет 1 вызов REST для данных (вызов REST являетсязащищенные ресурсы - требуется аутентифицированный пользователь).В настоящее время этот плагин Excel аутентифицируется с помощью бэкэнда REST, используя обычную аутентификацию (с полями ввода имени пользователя / пароля).Пользователи проходят проверку подлинности в домене Windows.

Проблема

Я хочу избавиться от ввода имени пользователя / пароля и начать использовать SAML2 для обеспечения единой регистрации для этих пользователей..из этого приложения .NET.

Вопрос 1. Можно ли выполнить проверку подлинности SAML2 на стороне клиента для моего приложения?

Какую инфраструктуру / библиотеку использовать?

Если это возможно (я надеюсь, что это так ...), я нашел эту информацию:

"Нет, это официальная клиентская часть C #стек протоколов ", но существуют различные сторонние библиотеки, которые реализуют SAML2", но, похоже, все они ориентированы на ASP.NET.

  • Sustainsys.Saml2
  • OneLogin
  • AspNetSaml
  • ITfoxtec

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

Я не гуру .NET, поэтому, если это возможно, любая библиотека с четким примером / tutorial был бы очень признателен.

Followup 2018-12-13

Таким образом, настоящая проверка подлинности SAML возможна только при включении WebBrowserControl в пользовательскую панель вэто приложение Excel надстройки.Этот WebBrowserControl будет обрабатывать согласование SAML (включая отслеживание всех перенаправлений и т. Д.).Однако я только заметил, что при обращении к URL-адресу, который запускает проверку подлинности SAML в Firefox (с пустыми доверенными URI NTLM), появляется всплывающее окно проверки подлинности.Когда я ввожу свои учетные данные, я аутентифицируюсь.

Вопрос 2

Могу ли я выполнить согласование SAML в бэкэнде .NET без WebBrowserControl, но с помощьюпредоставить имя пользователя и пароль, которые у меня все еще есть в моем графическом интерфейсе?Могу ли я установить правильные заголовки в какой-то момент процесса?Если да, то как?

1 Ответ

0 голосов
/ 09 декабря 2018

Список стеков SAML .

Почему SAML?

SAML использует перенаправления браузера, как вы указали.

Я бы предложил использоватьбиблиотеки ADAL , т.е. OpenID Connect.

...