Итак, это может быть глупый вопрос, но я проверил Google и не получил ни одного хита. Мы хотим разместить несколько приложений Rails таким образом, чтобы они выглядели однородно. Мы хотим, чтобы все приложения выглядели одинаково, а все приложения использовали одну и ту же базу данных для входа.
Тематика. Я думаю, что мы могли бы добиться этого, просто поместив тему сайта в драгоценный камень и потребовав этот драгоценный камень из нашего репозитория github в каждом приложении. Однако аутентификация сложнее.
Я знаю, что могу добиться этого "бесплатно", просто не создавая разные части сайта (магазин, чат-форумы и т. Д.) В разных приложениях. Если все они, скажем, Rails Engines, мы можем в основном поместить их в одно и то же приложение с их собственными маршрутами в пространстве имен и иметь один плагин, который выполняет аутентификацию.
Однако по разным причинам мы хотели бы сохранить эти отдельные приложения, если это технически возможно. Причина номер один - масштабируемость; так как это будет хостинговый сайт, мы хотим, чтобы гибкость позволяла увеличить количество экземпляров, скажем, магазина (возможно, для обработки праздничных распродаж), без необходимости раскручивать форумы чата. Кроме того, мы хотим иметь возможность полностью изолировать части кода, которые НЕ переплетаются.
В идеале, базы данных тоже должны быть отдельными (не позволяя нам вернуться в колею «поместите все, включая кухонную раковину в БД»), но я знаю, что это один «дешевый» способ сделать меж-приложение аутентификации просто использовать один и тот же плагин (скажем, Devise) и просто указать на одну и ту же БД.
Итак, я думаю, что, возможно, способ сделать это - авторизация через вызов веб-службы. Это предшествующий уровень техники - есть ли у кого-нибудь жемчужина для этого, которая «просто работает», чтобы аутентификация могла быть общей для всех приложений? Или я просто вхожу в мир боли, пытаясь строить вещи таким образом?
Заранее спасибо!