2010-07-08 2 views
2

Я запускаю приложение Rails на Heroku, и я пытаюсь передать все встроенные запросы Twitter (а именно oauth authentication) в приложение Node.js, потому что когда Twitter медленный, поскольку сервер Ruby блокируется, запросы Twitter забивают мое приложение. (Мой средний запрос занимает около 50 мс, но мой средний запрос Oauth Twitter занимает около 1500 мс!)Обмен сеансом между приложением Node.js и приложением Rails

Приложение node.js и приложение rails могут обращаться к одной и той же базе данных.

Однако я не могу понять, как инициировать сеанс с node.js, а затем использовать этот сеанс в приложении rails. Сейчас я использую хранилище сеансов cookie по умолчанию Rails.

Я хочу, чтобы это что-то работать, как ...

1) пользователь переходит на целевую страницу http://railsapp.com

2) пользователь инициирует вход в систему с http://nodeapp.com/login или http://nodeapplogin.railsapp.com

3) пользователя делает твиттер oauth dance с node.js

4) при успешном входе в систему пользователь перенаправляется на http://railsapp.com/dashboard с активным сеансом рельсов, который можно использовать во всех приложениях rails

Любые идеи/предложения?

+0

Возможно, какая-то база данных в памяти с публикацией/подпиской? –

ответ

3

Вам понадобится хранилище ключей сеансов на основе файлов cookie, установите глобальный домен cookie на ваш сайт «railsapp.com», поделитесь хранилищем сеансов так, чтобы как Node.js, так и Rails могли получить к нему доступ.

Я не знаю внутренних элементов управления сеансом Node.js, но я полагаю, что он должен иметь возможность загружать хранилище сеансов ребра с поддержкой db.

Смежные вопросы