Мне необходимо реализовать сервер STS-IP для наших веб-приложений и сервисов. Серверу потребуется выпустить токены SAML для следующих сценариев:
- Деловой партнер отправляет свой токен SAML, который конвертируется в токен SAML с утверждениями, необходимыми для наших приложений. Этот токен используется для доступа к нашим веб-приложениям и службам.
- В наших общедоступных приложениях необходимо, чтобы пользователь вошел в систему (с помощью проверки подлинности с помощью форм), а затем получил доступ к нашим веб-приложениям и службам с помощью токена SAML.
- Наши клиенты (без доверия STS) должны пройти аутентификацию на нашем сервере STS-IP, получить токен SAML и использовать этот токен для доступа к нашим службам WCF.
Во всех трех сценариях нам необходимо иметь настраиваемые утверждения на токен SAML, который используют наши приложения и службы. Мысль в том, что как только мы идентифицируем пользователя, мы будем искать его авторизацию в наших серверных системах и прикреплять претензии.
В этих сценариях вы можете предположить, что внутреннее хранилище аутентификации представляет собой настраиваемую реализацию с аутентификацией, хранящейся в Active Directory, и авторизацией, хранящейся в базе данных.
Итак, я подумал, что нам нужно создать собственный сервер STS-IP, используя что-то вроде Windows Identity Framework. Но я также читал, что вам не следует этого делать, потому что это может занять некоторое время.
Могу ли я использовать стандартный сервер STS-IP? Все, что я видел, - это сопоставление одной системы с другой (SAML с SAML или AD с SAML).
Почему создание готового к эксплуатации STS-IP займет «много времени»? Я очень легко построил его с помощью WIF, но, полагаю, я не понимаю рисков, связанных с этим.