]> Repos - mime-chat/commitdiff
send auth payload on websocket open
authorEnrique Hernandez <hernandeze2@xavier.edu>
Tue, 1 Jun 2021 13:50:25 +0000 (09:50 -0400)
committerEnrique Hernandez <hernandeze2@xavier.edu>
Tue, 1 Jun 2021 13:50:25 +0000 (09:50 -0400)
src/background/ipc/session.ts
src/background/session.ts
src/background/websockets.ts

index a2496dc51310231327ced0928759b63fd1e4a0b0..cc6edebc93ffa1e907fe19ab7ae8cc186d0303a3 100644 (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();
 }
index fc3e4fdf76b95e45b6158a95303536e67f53d61b..0fed780fbc94a0e45d49d605c50cd922798af963 100644 (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) => {
index 9fcc5e8215bafca59145c6c6ee92cac9b25394b6..6f1abc284b12a84ee098b51db6e5542c7e3700da 100644 (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)