Как использовать Windows Login в приложении Winforms для доступа к SAML Service Provider - PullRequest
0 голосов
/ 19 сентября 2018

Я работаю с компанией, у которой есть приложение WinForms, работающее в корпоративной сети Windows.В настоящее время приложение подключается к серверу веб-приложений, который имеет свое собственное хранилище имени пользователя и пароля.Сервер веб-приложений имеет пользовательские интерфейсы на основе JSP, но также имеет некоторые веб-службы, которые поддерживают аутентификацию на основе JWT.

Компания хотела бы использовать учетные записи из своего домена Windows для аутентификации пользователей, а не использовать отдельный набор имен пользователей и паролей.Домен компании имеет сервер AD FS, а веб-приложение является поставщиком услуг SAML.

Вопрос в том, можно ли использовать идентификационную информацию из исходного входа в Windows для получения токена SAML из ADFS, а затем использовать этот токен для связи с веб-службами на компьютере веб-приложения?

Мы рассматриваем возможность использования Windows Identity Foundation, встроенного в .net Framework.Open ID Connect также представляется возможным, но мы не хотим предоставлять пользователю веб-страницу для входа в систему;мы хотим использовать исходную информацию для входа в Windows, чтобы автоматически предоставлять доступ поставщику услуг.

Возможно ли это?

Поддержка SAML уже встроена в веб-приложение, но при необходимости мы можем добавить поддержку OpenID Connect.

1 Ответ

0 голосов
/ 19 сентября 2018

ADFS может генерировать токены JWT , но, к сожалению, не для SAML.

Нет способа преобразовать токен SAML в подписанный JWT.

SAML на самом деле не поддерживает веб-API / веб-сервисы.

WS-Fed поддерживает, но это WCF, а не веб-API.

Самый простой способ - это перейти на OpenID Connect.Это действительно предоставляет токен JWT, который вы можете использовать для аутентификации в веб-API.Для этого вам понадобится ADFS 4.0.

...