서버에서 클라이언트에 토큰을 전달해주고 그 토큰을 쿠키에 저장하기 위해 필요했다
구글링은 통해 3가지의 방법을 찾았다document.cookie = 'key=value';
//js-cookie 라이브러리 사용 import Cookies from 'js-cookie' Cookies.set('foo', 'bar')
//react-cookie 라이브러리 사용 import { Cookies } from 'react-cookie' const cookies = new Cookies() cookies.set(name, value, { ...option })
단, main.js에서 쿠키 저장이 가능했다
main.js와 renderer.js의 통신으로 데이터를 넘겨 주었고,
main.js 에서 쿠키를 저장 완료!//renderer.js ipcRenderer.send('채널 명', data) //main.js const { session } = require('electron') // 쿠키 저장을 위해 ipcMain.on('채널 명', (event, data)=>{ session.defaultSession.cookies.set({ url : "url", // 기본적으로 입력 해주어야함 name : "name", value : data, httpOnly : true, // client에서 쿠키를 접근함을 방지하기위해 설정 ( 보안 설정 ) expriationDtae : "초 단위 숫자" // 쿠키 만료 시간 설정 }) })
쿠키 저장이 로컬 스토리지에 접근해서 저장하는게 쉬운 줄알았고 열심히 코딩했지만 무반응, 무 Error, 무 Data 아무런 티가 나지 않아서 내가 코드를 잘못 작성한 줄 알았고, 덕분에 많이 헤맸다. electron 문서에 쿠키 저장하는 함수가 있었던걸 미리 발견하긴 했지만 위의 3가지의 방법이 간단해 보여서 electron cookie는 무시했고, 결과는 삽질의 연속이였다. 결론은 괜히 문서가 있는게 아니구나 라는 생각을 했고, 왜 electron에서는 다른 쿠키 저장 로직이 안 먹는 것인지 의구심이 든다.