Я смотрел аутентификацию для Node.js, и кажется, что http://passportjs.org/ вполне отвечает всем требованиям. Считаете ли вы, что это будет хорошим кандидатом для взаимодействия со всеми основными сторонними облачными сервисами, которые будут полезны в сфере ESB? Считаете ли вы паспорт надежной основой для будущего?
Что касается аутентификации ESB, я могу сказать о SwarmESB (я автор), что легко изменить механизмы аутентификации: у вас есть и внешний сервис, предлагающий API (REST или что-то еще. Я использовал LDAP для проекта и локальную базу данных в других ) и адаптер (процессы node.js, предлагающие ваши собственные адаптированные API-интерфейсы для роя или для перенаправления во внешнюю службу), и вы определяете описание роя (например, сценарий, написанный на JS и использующий функцию "роя" и несколько соглашений), которое может можно изменить в любое время без изменения кода клиента или кода адаптеров. С помощью нескольких IF вы можете легко получить другой алгоритм для отладки / разработки, разных клиентов, пользователей, поставщиков аутентификации и т. Д.
Мне нравится видеть сходство между SwarmESB и другими (обычно Java) ESB как сходство между REST и SOAP. Они служат тому же размаху, но с радикальным подходом к устранению (обычно бесполезной) церемонии. Я попытался создать решение, обладающее архитектурной гибкостью ESB, не платя за сложность обучения программистов с довольно сложными концепциями. Если кто-то понимает модель обмена сообщениями и некоторые детали, он может легко начать писать код node.js, который объединяет различные API (веб-службы или что-то еще)
Я обучил нескольких новичков node.js понять концепции, и они научились выполнять значимую работу за несколько дней. До сих пор я использовал SwarmESB в двух проектах (один для крупного румынского агентства, он стабилен и работает без проблем более года). SwarmESB выполняет свою работу, но все еще не так хорошо документирован (у меня нет ресурсов, времени и т. Д.) И не может бесконечно масштабироваться (как это могло бы теоретически, потому что он немного ограничен одним экземпляром Redis PUB / SUB) и Я мог бы быстро улучшить эти аспекты. Также я бы немного улучшил механизмы обработки ошибок и восстановления после сбоев. Это может потребовать немного доверия и любви к идее роя для использования в новых проектах, и вам понадобится я как консультант и инструктор, чтобы начать проект, но все с открытым исходным кодом и кода не так много, это выполнимо.
Один из аспектов заключается в том, что до сих пор мы использовали SwarmESB только с клиентами, использующими сокеты (флэш-память и веб-сокеты), а модель swarm предоставляет push-уведомления из дизайна. Наличие чистых клиентов AJAX возможно, но, вероятно, не лучший вариант использования. Воспринимаемая скорость сокетов - большое преимущество UX. Что касается паспортов, вы можете отложить принятие решения, потому что с ESB вы получаете гибкость и можете сосредоточиться на разработке своих сервисов (адаптеров) и позволить аутентификацию, пока вы не узнаете, каких провайдеров аутентификации вам действительно следует использовать с точки зрения бизнеса. Веб-сервер, использующий passwordjs, может использоваться как внешняя служба или предоставляться адаптером, используемым клиентами роя для подключения к ESB. Если интересно, я могу связаться по Skype, и я объясню, что возможно.