используйте WindowsIdentity / WindowsPrincipal для получения токена SAML для WS-Federation - PullRequest
0 голосов
/ 21 сентября 2018

Есть ли способ использовать собственный WindowsIdentity / WindowsPrincipal внутри приложения C #, работающего в корпоративном домене, чтобы иметь возможность запрашивать токен SAML с сервера ADFS домена, чтобы приложение C # могло затем выполнять последующие вызовы WS-Вызов федерации в сервис-провайдере, который был интегрирован с сервером ADFS?

Похоже, мы бы использовали WIF для связи с сервером ADFS для получения токена.Есть ли способ предоставить билет Kerberos в WIF вместо использования имени пользователя / пароля?

Глядя на WindowsIdentity.GetCurrent () я вижу, что пользователь вошел в систему с помощью kerberos, но не вижу, как настроить вызов WIF для ADFS, чтобы использовать kerberos для автоматического получения токена SAML без имени пользователя/ пароль набор учетных данных.

1 Ответ

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

Помогает ли https://blogs.msdn.microsoft.com/alikl/2011/09/30/how-to-use-ad-fs-endpoints-when-developing-claims-aware-wcf-services-using-wif/?

Вы должны убедиться, что у вас включена конечная точка, которая может выполнять встроенную аутентификацию Windows через Kerberos.Что-то вроде / adfs / services / trust / 2005 / windowstransport или / adfs / services / trust / 13 / windowstransport.Вы можете проверить это, проанализировав конечную точку / adfs / services / trust / mex.Иногда некоторые из этих конечных точек отключаются системным администратором.

Использование билета Kerberos в качестве учетных данных для конечной точки означает, что ваше приложение должно работать в корпоративной сети с доступом к контроллерам домена, чтобы оно могло получить билет для AD FS.Если использование приложения за пределами корпоративной сети не требуется, это может подойти вам.В противном случае вам нужно подумать о том, как приложение ведет себя / проверяет подлинность внутри и снаружи корпоративной сети.

Посмотрите образцы https://www.microsoft.com/en-gb/download/details.aspx?id=4451, но их нужно будет модифицировать в зависимости от версии WIF, которую вы планируете использовать в качествеобрисовано в общих чертах в https://docs.microsoft.com/en-us/dotnet/framework/security/guidelines-for-migrating-an-application-built-using-wif-3-5-to-wif-4-5

Наконец, вы должны рассмотреть возможность использования OpenID Connect и OAuth2.0 вместо WS-Federation / WS-Trust в вашем сценарии.Если да, вы должны просмотреть информацию на https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/overview/ad-fs-scenarios-for-developers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...