From: Enrique Hernandez Date: Tue, 1 Jun 2021 13:50:25 +0000 (-0400) Subject: send auth payload on websocket open X-Git-Tag: v2.0.1~19^2~12 X-Git-Url: https://andrewgundersen.net/repos?a=commitdiff_plain;h=716730fdd21b8630fd1b408420e8ed0f3d07c18f;p=mime-chat send auth payload on websocket open --- diff --git a/src/background/ipc/session.ts b/src/background/ipc/session.ts index a2496dc..cc6edeb 100644 --- a/src/background/ipc/session.ts +++ b/src/background/ipc/session.ts @@ -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(); } diff --git a/src/background/session.ts b/src/background/session.ts index fc3e4fd..0fed780 100644 --- a/src/background/session.ts +++ b/src/background/session.ts @@ -87,14 +87,17 @@ export const sendMessage = (payload: Record): 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) => { diff --git a/src/background/websockets.ts b/src/background/websockets.ts index 9fcc5e8..6f1abc2 100644 --- a/src/background/websockets.ts +++ b/src/background/websockets.ts @@ -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)