Многодоменный вход - PullRequest
       9

Многодоменный вход

2 голосов
/ 09 марта 2012

Я работаю над небольшим проектом node.js, и, хотя много гуглял, я немного запутался, но, может быть, некоторые из вас смогут снова указать мне дорогу.

Нескольковеб-сайты создаются с помощью DocPad (отличное программное обеспечение) и размещаются на разных доменах.

Все эти веб-сайты теперь должны получить «модуль входа в систему» ​​(который также написан на Node.js)., используя паспорт).Визуально он будет похож на отличный логин-слайдер от Web-Kreation ( Здесь демо).Мой план состоял в том, чтобы использовать nginx и направить все / login-запросы в приложение login, которое работает нормально.

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

Можно ли как-то использовать оба вместе и создавать сеансовые куки-файлы из модуля входа в систему (который мог бы использовать один и тот же домен все время)?

Ответы [ 2 ]

2 голосов
/ 04 ноября 2012

Я отвечаю на свой вопрос для справки, если кто-то еще столкнется с той же проблемой.

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

DocPad по-прежнему используется для создания различных веб-сайтов (работает отлично - я знаю, что говорю это очень часто, но если есть замечательное программное обеспечение, нет причин не упоминать его время от времени) статически, весь статический контент доставляется пользователю с использованием CDN.

Система login - это приложение node.js, использующее Redis в качестве единственной базы данных. Он интегрирован с помощью простого iframe на все страницы, представленные DocPad на login.example.com.

1 голос
/ 09 марта 2012

После успешного входа в «login-app» вы можете создать зашифрованную строку с информацией о текущем пользователе. Вы можете передать эту строку обратно в параметре get / post с перенаправлением на нужный домен. Ключ для подписки известен только «login-app» и вашим сайтам. Вы можете доверять этим зашифрованным данным. Необходимо убедиться, что каждый раз ключ различен для одного и того же пользователя. Например, вы можете добавить информацию о времени входа или случайном. После расшифровки данных вы можете установить куки авторизации для конкретного домена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...