I am creating a single page web app using web sockets as the transport which will use a session ID to verify user is authenticated, I have managed to get session ID value from server response but cannot pass it out of inline JS function initiated by message received by web sockets. How do I do this?
Sample of code
socket.onmessage = function(e) {
if (debugMode) {
console.log('NOTIFICATION : Message received from the server "' + e.data + '."');
if (e.data.startsWith("RID")) {
message = e.data.split(',');
}
if (message[0].startsWith('RID:')) {
if (debugMode) {
console.log('NOTIFICATION : RID for message is "' + message[0].split(':')[1] + '".');
}
for (var iSMR = 0; iSMR < activeRequests.length; iSMR++) {
if (activeRequests[iSMR].startsWith(message[0].split(':')[1])) {
if (debugMode) {
console.log('NOTIFICATION : Message received from server is a response to request "' + message[0].split(':')[1] + '".');
if (activeRequests[iSMR].split(':')[1] === "authenticate") {
if (message[1] === 'OK') {
var sessionID = message[2].split(':')[1];
console.log('NOTIFICATION : Session ID token "' + sessionID + '".');
console.log('NOTIFICATION : Agent successfully authenticated');
}
}
$.colorbox({
html: '<h2 class="text-center">User Authenticated</h2><p class="text-center">Session token "' + sessionID + '".</p>'
})
}
}
}
}
if (sessionID === null) {
return sessionID = message[2].split(':')[1];
}
}