Max
Max

Reputation: 15955

How do you use a Rails session store outside of a Rails app?

I am interested in deploying a Node.js along side my Rails application server. Just as a reference, I plan on using socket.IO to create a chat server, so users will be able to chat inside of my web application.

My current application uses Authlogic to authenticate users. I would like to ensure that only a user cannot read other users' messages, so I will need to authenticate the user session somehow. My Node.js will have access to my database, and I know Rails can store the sessions inside of the database, so I would like to use this feature to authenticate chat users. The problem is, I have no idea how to go about doing that. I'm not even sure what information is present in the session, and I do not know how I can use this information to authenticate a user.

Thanks in advance!

Upvotes: 1

Views: 224

Answers (1)

Frederick Cheung
Frederick Cheung

Reputation: 84114

The rails session is tricky to use from other languages: it's just a serialised ruby object and pretty much the only documentation for the marshal format is the implementation/rubyspec.

However authlogic doesn't actually store anything in the session: it has a separate cookie (user_credentials by default, assuming your model is User) The data in that cookie is "#{user.persistence_token}::#{user.id}", so you should be able to easily verify this from your js code

Upvotes: 1

Related Questions