Лучшее решение для централизованной системы управления пользователями для нескольких систем

В настоящее время мы запускаем 2 веб-страницы на основе WordPress, настраиваемого приложения, созданного в JS (Hapi, Angular, Mongo), а также самостоятельного репозитория и хостинга GitLab на основе ISP Config. В настоящее время пользователь, который хочет использовать более одного сервиса, вынужден создавать несколько учетных записей.

Какой был бы лучший подход к централизации, предполагая, что мы хотим:

  • пользователь должен использовать те же учетные данные на каждой странице
  • позволяет пользователю войти в систему, используя социальный вход (Facebook, Google, Twitter) и сохранить свой единственный профиль.
  • централизовать информацию об услугах пользователя, использовании и платежной информации (счета-фактуры)

Мы не хотим чрезмерно усложнять решение, поэтому мы не хотим централизовать управление доступом и получать их от централизованного сервера, каждая страница/служба будет поддерживать его самостоятельно (т.е. когда пользователь совершает покупку внутри WP-сайты (woocommerce) Wordpress сами будут поддерживать порядок, и мы напишем специальный код для продажи в централизованную систему для целей выставления счетов)

В настоящее время мы рассматриваем использование LDAP или Kerberos, что будет лучше?

Во-вторых - как покрыть часть, касающуюся социального входа? Я предполагаю, что мы все равно должны разрешить регистрацию пользователя с использованием OAuth2 и как-то синхронизировать данные между каждой службой и централизованной системой. Есть ли другой способ?

Ответ 1

Ваши желания [исправьте меня, если я ошибаюсь]:

  • У вас есть два приложения, которые по сути являются отдельными вещами.
  • Эти приложения могут обслуживаться с веб-страницы через HTTP, и либо не имеют систему auth или нуждаются в обновлении.
  • Вы хотите централизованную систему входа в систему с социальной аутентификацией.
  • У вас есть единый бизнес-объект.
  • Вам нужен единый, комбинированный источник данных для электронной коммерции.
  • Вы по существу устанавливаете это с нуля на WordPress В настоящее время нет смешанной экосистемы пользователей.

Мои мысли: Вы НЕ хотите LDAP или Kerberos. Эти решения слишком сложны для этой ситуации. Вы хотите установить SINGLE WordPress. Вы можете легко настроить бэкэнд для ответа на несколько доменов. Другими словами, одна установка wordpress может обрабатывать страницы на "domain1.com" и "domain2.com" и отображать страницы с совершенно разными заголовками и текстом, чтобы сделать их APPEAR как два сайта. Нет причин поддерживать два отдельных списка пользователей, потому что вы хотите, чтобы одна система заходила в систему. Дифференцируйте пользователей на основе их бизнес-данных, то есть пользователь1 имеет данные, "зарегистрированные на SiteA", user2 имеет данные, "зарегистрированные на SiteB" и т.д.

Вы можете разместить свое приложение на странице WordPress, а затем использовать is_user_logged_in() для межсетевого экрана для WordPress. Это стандартный отраслевой метод auth и чрезвычайно безопасный, если он настроен правильно. Или, если это данные api, вы можете разместить его как конечную точку и использовать ту же самую систему auth.

Любой из основных социальных плагинов, которые популярны в бесплатном репозитории .org, должен разработать этот метод с помощью этого метода.

Если вы собираетесь связывать блоги, то есть много "сообщений" о продуктах, и вы хотите, чтобы эти блоги были разными экосистемами, с разными наборами пользователей, вы ищете WordPress Multi-Site. Я не думаю, что это то, что вы хотите. Вы не похожи на то, что вы идете в "блог". Или, по крайней мере, каждая страница будет тщательно изучена на этих комбинированных сайтах. Таким образом, вы, вероятно, ищете только одну установку для обслуживания контента в двух доменах. NOT MULTISITE.

Вы должны использовать WooCommerce, просто потому, что это самая широко поддерживаемая платформа. Настройка на 100% бесплатна.

Вы можете легко обслуживать страницы, которые создаются по-разному, даже в одной установке. Например, один сайт WordPress может обслуживать страницы до двух доменов и помещать разные логотипы и заголовки в верхней части страницы, чтобы они выглядели по-другому. Одна физическая машина может обслуживать два домена.

Нижняя строка: вам нужна одна установка WordPress на одной машине, обслуживающая два домена. Содержание и внешний вид в доменах могут быть разными по своему усмотрению. Используйте любые популярные социальные плагины в реестре .org для брандмауэра приложений.