Сценарий аутентификации Wif. Вопросы реализации STS
-
26-09-2019 - |
Вопрос
Мы рассматриваем использование WiF для аутентификации наших пользователей, поэтому я начал собирать некоторую информацию о том, как сделать это правильно. В основном, как мы должны создавать STS. Мне было трудно найти некоторую информацию о нашем сценарии, где у нас есть «основная» услуга, которая будет использоваться клиентами как внутренним, так и внешним.
Внутренние клиенты будут подключаться к службе с использованием TCP. Клиенты настольных компьютеров, используемые нашими сотрудниками, должны аутентифицироваться на службу, используя свои учетные данные домена (Active Directory). Кроме того, у нас есть небольшое количество приложений, использующих сервис для обработки данных. Мы хотели бы выдать сертификат на эти приложения. Затем они будут аутентифицироваться через STS, используя этот сертификат, а токен возвращается, содержащий претензии для этого приложения. Это возможно?
Внешние клиенты будут подключаться через HTTP, аутентифицировать с использованием имени пользователя / пароля (веб-клиента) или с помощью сертификата, как упоминалось, как упоминается выше.
Это действительный сценарий? Как бы вы реализовали это в WiF? Можете ли вы указать мне некоторые статьи, которые вы думаете, помогут? Могу ли я решить это, имея один STS (WCF) или мне нужно больше, чем один? Может ли один STS обрабатывать более одного типа учетных данных (AD / имя пользователя / сертификат)?
Заранее спасибо. Любая помощь будет высоко ценится.
Решение
Да, это можно легко выполнить с WCF и WiF. Вам нужна только реализация или сервис STS, с тремя конечными точками WCF. Одна конечная точка для Net.TCP с аутентификацией Windows, одна конечная точка для аутентификации с сертификатами (это может быть безопасность сообщений с учетными данными Client Client или HTTP-транспортировкой WIHT X509 учетных данных), а также другая конечная точка для имени пользователя и пароля. Возможно, вы захотите посмотреть на стартовый комплект STS от Dominick Baier, я думаю, что он уже предоставил для этого в этом проекте.
Это вопрос разоблачения службы STS с двумя конечными точками, как следует,
ADFS не требуется, если вы используете WIF. ADFS - это федеративное решение, которое интегрируется с AD и устанавливает STS поверх него. Вы всегда можете реализовать свои собственные STS и разоблачить дополнительную конечную точку для аутентификации Windows в конфигурации привязки
Спасибо Пабло.