Уже больше месяца пытаюсь понять, как решается эта проблема. Мне действительно нужно придумать общий подход, который работает. У меня есть теория, но я просто не уверен, что это самый простой (или правильный) подход, и я не смог найти никакой информации, подтверждающей мои идеи.
Вот сценарий:
1) У вас есть сложное веб-приложение, предлагающее защищенный контент по подписке.
2) Пользователи должны войти в ваше приложение с именем пользователя и паролем.
3) Вы продаете крупным корпорациям, у которых уже есть корпоративная технология аутентификации (например, Active Directory).
4) Вы хотели бы интегрироваться с корпоративным механизмом аутентификации, чтобы пользователи могли входить в ваше веб-приложение без ввода имени пользователя и пароля.
Теперь любое решение, которое вы придумаете, должно будет обеспечивать механизм для:
- добавление новых пользователей
- удаление пользователей
- изменение информации о пользователе
- разрешить пользователям входить в систему
В идеале все это должно происходить «автоматически», когда корпоративный клиент вносит соответствующие изменения в собственную аутентификацию.
Теперь у меня есть теория, что способ сделать это (по крайней мере, для Active Directory) заключается в том, чтобы написать приложение на стороне клиента, которое интегрируется с Active Directory клиента для отслеживания целевых изменений, а затем сообщить об этих изменениях моему Веб-приложение. Я думаю, что если бы это общение осуществлялось через веб-службы, предлагаемые моим веб-приложением, то оно поддерживало бы уровень безопасности, который невозможно взломать, что, очевидно, было бы требованием для этих корпоративных клиентов.
Я нашел некоторую информацию о продукте Microsoft под названием Служба федерации Active Directory (ADFS), который может быть или не быть правильным подходом для меня. Это кажется немного громоздким и имеет некоторые требования, которые могут не работать для всех клиентов.
Для других существующих сценариев идентификации (таких как Афины и Шибболет) я не думаю, что клиентское приложение необходимо. Вероятно, это просто вопрос привязки к существующим службам идентификации.
Я был бы признателен за любые советы, которые есть у кого-либо по поводу всего, что я упомянул здесь. В частности, если вы можете сказать мне, верна ли моя теория о предоставлении клиентского приложения, которое взаимодействует с веб-службами на стороне сервера, или я полностью иду в неправильном направлении. Кроме того, если бы вы могли указать мне на какие-либо веб-сайты или статьи, которые объясняют, как это сделать, я был бы очень признателен. Мое исследование пока не принесло особых результатов.
Наконец, если бы вы могли сообщить мне о любых веб-приложениях, которые в настоящее время предлагают эту услугу (в частности, связанные с корпоративной Active Directory), я был бы очень признателен. Мне интересно, предлагают ли другие веб-приложения B2B, такие как salesforce.com или hoovers.com, аналогичную услугу для своих корпоративных клиентов.
Я ненавижу быть в темноте и был бы очень признателен за любой свет, который вы можете пролить...
Джереми