electron 에서 cookie 사용

배찬영·2022년 1월 10일
0

Electron

목록 보기
1/1
post-thumbnail

처음으로 cookie를 사용을 해야하는 경우가 찾아왔다.

서버에서 클라이언트에 토큰을 전달해주고 그 토큰을 쿠키에 저장하기 위해 필요했다

구글링은 통해 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 })

하지만 개발자도구의 cookie에 아무런 data가 없었다.

혹시나 하는 마음에 electron 문서에서 cookie를 검색해 보았는데 함수가 있었다.

단, 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에서는 다른 쿠키 저장 로직이 안 먹는 것인지 의구심이 든다.

profile
안녕하세요

0개의 댓글