I have a requirement in my project, where i need to create multiple
apps that need to be integrated. One of the apps would be used for
authentication that uses Authlogic. I need a single sign-on solution, so that once a user is logged in he remains logged-in for all the other apps as well.
Now, the user_session being created in the auth app, is not accessible in the other apps. Is there a way i can share a user_session between multiple apps.
I have a requirement in my project, where i need to create multiple apps
that need to be integrated. One of the apps would be used for authentication
that uses Authlogic. I need a single sign-on solution, so that once a user
is logged in he remains logged-in for all the other apps as well.
you can. If my memory is correct, the :session_domain option allows
you to set the domain the session cookie is saved under. (this does of
course assume that contents of the session will be meaningful to all
the apps).
ok, i have the set the 2 apps to use the same session_domain, like
this
ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update
(:session_domain => '.localhost.com')
i am also using the same secret key across both apps, as cookies are
found using that key. But still this does not work! Maybe its because
i am using authlogic and it has its own way of finding the user in the
current_session.
Check that the cookie that contains the session is actually being set
under the right domain (and in development you'll need to fakeup some
domains eg app1.mydomain.local, app2.mydomain.local).
i checked the cookies on my browser one is set under localhost.com and
other under blog.localhost.com, i have set these in /etc/hosts.
Also, :session_domain => ".localhost.com"
But there is one difference between the 2.
localhost.com has 2 cookies(one of which is named user_credentials),
while blog.localhost.com has just 1 cookie, whose name is same as the
1st cookie under localhost.com
Ooh, i've forgot to tell that there are one problem - this solution does
not working in Opera browser, because Opera does not support session
sharing for subdomains