send auth payload on websocket open
This commit is contained in:
parent
87dce82c53
commit
716730fdd2
3 changed files with 24 additions and 6 deletions
|
|
@ -5,6 +5,7 @@ import { initSession, emitNewMessages, sendMessage } from '@/background/session'
|
||||||
import { ipcMain, IpcMainInvokeEvent, IpcMainEvent } from "electron";
|
import { ipcMain, IpcMainInvokeEvent, IpcMainEvent } from "electron";
|
||||||
import { initAudioIO } from "@/background/audio";
|
import { initAudioIO } from "@/background/audio";
|
||||||
import { ClientMessage } from "@/types";
|
import { ClientMessage } from "@/types";
|
||||||
|
import { store } from "@/background/store";
|
||||||
|
|
||||||
|
|
||||||
// Instantiate socket session with crimata-platorm.
|
// Instantiate socket session with crimata-platorm.
|
||||||
|
|
@ -15,7 +16,14 @@ const onSessionInit = (
|
||||||
|
|
||||||
console.log('[IPC]: init-session');
|
console.log('[IPC]: init-session');
|
||||||
|
|
||||||
initSession(cid);
|
const token = store.get('key');
|
||||||
|
const crimataId = store.get('crimataId');
|
||||||
|
|
||||||
|
|
||||||
|
initSession({
|
||||||
|
token,
|
||||||
|
crimataId
|
||||||
|
});
|
||||||
|
|
||||||
initAudioIO();
|
initAudioIO();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,14 +87,17 @@ export const sendMessage = (payload: Record<string, any>): void => {
|
||||||
|
|
||||||
|
|
||||||
// Call this to initialize session with Crimata servers.
|
// 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.")
|
console.log("SESS:Creating new session.")
|
||||||
|
|
||||||
// Load Json or createState.
|
// Load Json or createState.
|
||||||
state = loadState("session.json");
|
state = loadState("session.json");
|
||||||
|
|
||||||
// Open socket connection.
|
// Open socket connection.
|
||||||
createSocket();
|
createSocket(authPayload);
|
||||||
|
|
||||||
// Keep win up-to-date.
|
// Keep win up-to-date.
|
||||||
backgroundMitt.on('window-active', (state: boolean) => {
|
backgroundMitt.on('window-active', (state: boolean) => {
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,6 @@ export default function useWebSockets(
|
||||||
const onOpen = (_event: WebSocket.OpenEvent) => {
|
const onOpen = (_event: WebSocket.OpenEvent) => {
|
||||||
|
|
||||||
console.log("WS:Connected to WS Server!");
|
console.log("WS:Connected to WS Server!");
|
||||||
|
|
||||||
if (openCallback) openCallback();
|
if (openCallback) openCallback();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -66,12 +65,20 @@ export default function useWebSockets(
|
||||||
setTimeout(createSocket, 1000)
|
setTimeout(createSocket, 1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
const createSocket = () => {
|
const createSocket = (authPayload: {
|
||||||
|
token: string;
|
||||||
|
crimataId: string;
|
||||||
|
}) => {
|
||||||
if (socketUrl)
|
if (socketUrl)
|
||||||
socket = new WebSocket(socketUrl)
|
socket = new WebSocket(socketUrl)
|
||||||
|
|
||||||
// Add listeners.
|
// 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("message", onServerMessage)
|
||||||
socket.addEventListener("close", onClose)
|
socket.addEventListener("close", onClose)
|
||||||
socket.addEventListener("error", onError)
|
socket.addEventListener("error", onError)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue