Parse Session and WebSockets

I dont know exactly this is what you want, But this is how I would do If I was ever gonna need what you need.

First add user to Parse.Installation in beoreSave Trigger:

Parse.Cloud.beforeSave(Parse.Installation, (request) => {
  request.object.set("user", request.user);
});

Then Use afterDelete Trigger for Session objects. Get user of session and send them a push notification.

Parse.Cloud.afterDelete(Parse.Session, (request) => {
  
  const query = new Parse.Query(Parse.Installation);

  const invalidUser = new Parse.User({id:request.object.get("user").id});

  query.equalTo("user",invalidUser);
  

  Parse.Push.send({
    where: query,
    data: { "type":"invalidSessionToken",
            "token":""+request.object.get("sessionToken")}
    }, { useMasterKey: true })
      .then(function() {
  // Push sent!
    }, function(error) {
  // There was a problem :(
  });
  
});

In your push reciever compare the type value and sessiontoken:

if(pushData.get("type").equals("invalidSessionToken"){
    if(pushData.get("token").equals(ParseUser.getCurrentUser().getSessionToken())){
         ParseUser.logOut();
    }
}

Something like this can be done

2 Likes