TIL / 20210818

3620 단어 TILTIL

📌오늘한 일

  • 토큰이랑 시크릿 키에 대해 많이 찾아봤다.

우리조는 Access Token은 1시간 단위로 만료, Refresh Token은 14일 단위로 만료가 되도록 구현했다. 이것으로는 보안에 취약하다고 느껴 각각의 토큰오 반으로 쪼개서 전달 받기로 하였다.

그 결과 이전에는 볼 수 없던 코드가 탄생했다.

import {getCookie} from "./Cookie";

export const is_Login = () => {
    const token1 = getCookie("_1")
    const token2 = getCookie("_2")
    const token3 = getCookie("_3")
    const token4 = getCookie("_4")

    if(token1 && token2 && token3 && token4){
        return true;
    }else{
        return false;
    }
}

개발자 도구에 들어가 보면 access token, refresh token이라는 단어가 사용되지 않아 이것이 토큰인지 인지하기 어렵게 된다.

꼭 이렇게 해야한다는 아니지만 우리는 어느게 짝을 이루는지 알 수 없게 만들어 해커가 토큰을 아예 유추하지 못하도록 하고 싶었다.

새로운 도전이었다

📌참고자료

CORS: https://evan-moon.github.io/2020/05/21/about-cors/

여러 로그인 처리 방법(feat. httponly) : https://velog.io/@yaytomato/프론트에서-안전하게-로그인-처리하기

CSRF: https://velog.io/@ikswary/JWT의-보안적-고려사항

JWT 토큰 쿠키에 저장하기 : https://sjquant.tistory.com/22

좋은 웹페이지 즐겨찾기