diff options
author | Daniel Friesel <derf@finalrewind.org> | 2019-03-08 16:55:45 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2019-03-08 16:55:45 +0100 |
commit | ec82ac0f2eadc2c324b81e2252bb8bee88f09319 (patch) | |
tree | 7c468849f61d2b4a1d2d6b8f7a66772527db19f3 | |
parent | bf4ccb0eabe0f4258bc174a83dfba318d0212af1 (diff) |
move /action to non-authenticated area to handle session issues
-rwxr-xr-x | index.pl | 25 |
1 files changed, 18 insertions, 7 deletions
@@ -1021,11 +1021,6 @@ get '/reg/:id/:token' => sub { $self->render( 'login', from => 'verification' ); }; -under sub { - my ($self) = @_; - return $self->is_user_authenticated; -}; - post '/action' => sub { my ($self) = @_; my $params = $self->req->json; @@ -1034,13 +1029,25 @@ post '/action' => sub { $params = $self->req->params->to_hash; } + if ( not $self->is_user_authenticated ) { + + # We deliberately do not set the HTTP status for these replies, as it + # confuses jquery. + $self->render( + json => { + success => 0, + error => 'Session error, please login again', + }, + ); + return; + } + if ( not $params->{action} ) { $self->render( json => { success => 0, error => 'Missing action value', }, - status => 400, ); return; } @@ -1111,11 +1118,15 @@ post '/action' => sub { success => 0, error => 'invalid action value', }, - status => 400, ); } }; +under sub { + my ($self) = @_; + return $self->is_user_authenticated; +}; + get '/account' => sub { my ($self) = @_; |