Cannot make Devise to log out from Angular.js
sorry I never responded earlier, hope this helps
My Sesisons Controller
$scope.signOutUser = function () { $http.delete('/api/users/sign_out', { auth_token: Session.currentUser // just a cookie storing my token from devise token authentication. }).success( function(result) { $cookieStore.remove('_pf_session'); $cookieStore.remove('_pf_name'); $cookieStore.remove('_pf_email'); location.reload(true); // I need to refresh the page to update cookies }).error( function(result) { console.log(result); });}
My Devise Sessions Controller I overrode
class SessionsController < Devise::SessionsController before_filter :authenticate_user!, only: :destroy def destroy token = params[:auth_token] @user = User.find_by_authentication_token(token) @user.reset_authentication_token! sign_out(@user) render status: :ok, json: {message: "You have successfully logged out"} endend
As you can see, I'm not using Rails cookies and thus my answer may not pertain. If I did I would probably add a line like session[:user] = nil in my destroy action.