send auth payload on websocket open

This commit is contained in:
Enrique Hernandez 2021-06-01 09:50:25 -04:00
commit 716730fdd2
3 changed files with 24 additions and 6 deletions

View file

@ -5,6 +5,7 @@ import { initSession, emitNewMessages, sendMessage } from '@/background/session'
import { ipcMain, IpcMainInvokeEvent, IpcMainEvent } from "electron";
import { initAudioIO } from "@/background/audio";
import { ClientMessage } from "@/types";
import { store } from "@/background/store";
// Instantiate socket session with crimata-platorm.
@ -15,7 +16,14 @@ const onSessionInit = (
console.log('[IPC]: init-session');
initSession(cid);
const token = store.get('key');
const crimataId = store.get('crimataId');
initSession({
token,
crimataId
});
initAudioIO();
}

View file

@ -87,14 +87,17 @@ export const sendMessage = (payload: Record<string, any>): void => {
// Call this to initialize session with Crimata servers.
export const initSession = (cid: string): void => {
export const initSession = (authPayload: {
token: string;
crimataId: string;
}): void => {
console.log("SESS:Creating new session.")
// Load Json or createState.
state = loadState("session.json");
// Open socket connection.
createSocket();
createSocket(authPayload);
// Keep win up-to-date.
backgroundMitt.on('window-active', (state: boolean) => {

View file

@ -41,7 +41,6 @@ export default function useWebSockets(
const onOpen = (_event: WebSocket.OpenEvent) => {
console.log("WS:Connected to WS Server!");
if (openCallback) openCallback();
}
@ -66,12 +65,20 @@ export default function useWebSockets(
setTimeout(createSocket, 1000)
}
const createSocket = () => {
const createSocket = (authPayload: {
token: string;
crimataId: string;
}) => {
if (socketUrl)
socket = new WebSocket(socketUrl)
// Add listeners.
socket.addEventListener("open", onOpen)
socket.addEventListener("open", (_event: WebSocket.OpenEvent) => {
socket.send(JSON.stringify({
key: authPayload.token,
crimata_id: authPayload.crimataId
}));
})
socket.addEventListener("message", onServerMessage)
socket.addEventListener("close", onClose)
socket.addEventListener("error", onError)