Forum: Ruby on Rails Recipe to handle session expiration in ajax calls

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
161c0829c95d759f4dc0e0b71f712109?d=identicon&s=25 Rémi Gagnon (rgagnon)
on 2009-04-24 17:12
Hello,

I'm looking for a recipe to handle session logged out or expired in an
ajax calls.  For instance, lets say we have a form submission in ajax
that the user needs to be authenticated to perform this action.  I'd
like to at least notice the user that he is not logged in anymore or
even better prompt an authentication form.

Any suggestions?

Rémi
5772c599ccab3081e0fffb1d54f3b6de?d=identicon&s=25 Andrew Timberlake (andrewtimberlake)
on 2009-04-24 18:10
(Received via mailing list)
On Fri, Apr 24, 2009 at 5:12 PM, Rémi Gagnon
<rails-mailing-list@andreas-s.net> wrote:
>
> Rémi

Just return the relevant information from your Ajax call

If you're using RJS, you could do

render :update do |page|
  if authenticated?
    page.redirect_to login_path
  else
    page.alert("You're authenticated")
  end
end

Andrew Timberlake
http://ramblingsonrails.com
http://www.linkedin.com/in/andrewtimberlake

"I have never let my schooling interfere with my education" - Mark Twain
054ea2f04b5592b91f8223796cc53979?d=identicon&s=25 Brendon Whateley (brendon)
on 2009-04-24 20:31
(Received via mailing list)
Or do you want to periodically make an AJAX call to check if the user
is still logged in?  If that is the case you could use the Prototype
PeriodicalExecuter method to call the server and verify that the user
is still logged in.  I assume you have some server side sweep that
logs out old sessions.  Combined with the periodic AJAX call, the user
would be notified that they were logged out or even better give them
an update that they are about to be logged out!

On Apr 24, 8:12 am, Rémi Gagnon <rails-mailing-l...@andreas-s.net>
This topic is locked and can not be replied to.