Есть необходимость сделать SSO на основе логин/пароля винды. Чтобы после входа в систему делать запрос на внешний сервис и получать токен. Как лучше это сделать? Сейчас пытаюсь кастомизировать вход в винду (pGINA) но что-то не очень мне это нравится
Просто в Семерке и выше есть нормальные API для поставщиков учетных данных (в Семерке первая версия этого API, в Восьмерке и выше - вторая), а GINA это что-то из времён XP, имхо.
akass да, я про них, но это если бы у вас наоборот было - что у вас есть условно говоря база пользователей, и вам надо залогинить человека, пользуясь этой базой, при этом стандартными механизмами вроде домена вы пользоваться не хотите.
Как я теперь понимаю, вы наоборот, хотите залогиниться в обычную учетку в домене, но пройти также и авторизацию на внешнем сервисе.
Если этот сервис внешний по отношению к вашей компании, то вам бы не помешали Federation Services. Но этот внешний сервис должен уметь в SAML, да и вам придётся поднять на сервере эту роль. Внешний сервис достаточно умён для таких вещей?
In practice a user might typically perceive this approach as follows:
The user logs into their local PC (as they typically would when commencing work in the morning).
The user needs to obtain information on a partner company's extranet website - for example to obtain pricing or product details.
The user navigates to the partner-company extranet site - for example: example.com.
The partner website now does not require any password to be typed in - instead, the user credentials are passed to the partner extranet site using AD FS.
The user is now logged into the partner website and can interact with the website "logged in".
Станислав Макаров: Учетка в домене AD, надо по ней во время входа отправить запрос на CAS сервер и получить тикет для доступа к сервисам. Все это внутри компании. Цель вводить пароль только один раз. pGina как раз и есть обертка над GINA у старых систем и Credential Providers у новых. Вроде бы удобная система написания расширений. Но на данный момент она у меня как раз с доменами и конфликтует.
Добавил и доделал под себя плагин LDAP, с помощью которого стал нормально заходить через учетку AD, без создания локальной учетки. Ну и собственно написал плагин реализующий необходимую мне стратегию SSO