Лучший способ обмена данными аутентификации между приложением узла и рельсом в одном домене - PullRequest
1 голос
/ 08 августа 2011

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

На стороне Rails я использую Devise, клиентыи формы будут указывать на этот новый поддомен, где находится приложение узла.

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

Идея состоит в том, чтобы использоватьheroku для основного приложения и загрузки делегатов в приложение узла, работающее на экземпляре EC2.Чтобы получить доступ к приложению, я хочу передать информацию об аутентификации, учитывая, что эта конечная точка будет использоваться как клиентами API, так и веб-формами.

У Devise есть поддержка токенов аутентификации, передаваемых через URL, но мне интересно, каковываши решения.

1 Ответ

0 голосов
/ 08 августа 2011

Что ж, если ваши субдомены находятся на расстоянии 1 точки, как, например, www.myapp.example и uploads.myapp.example, вы можете поделиться как файлом cookie сеанса, так и информацией о сеансе в БД.Я бы просто написал приложение для узла, чтобы проверять cookie-файл сеанса при каждом запросе так же, как это делает devise, и все готово.Обращается ли пользователь к поддомену загрузки, так как он отображает HTML в браузере или должен отображать форму входа?Если это так, то общая таблица сессий в БД, вероятно, не лучшая идея, но если node.js предназначен только для выгрузки и может перенаправлять на www.myapp.example, когда сессия недопустима, все должно быть хорошо.Просто убедитесь, что вы установили поле домена файла cookie на .myapp.example.

...