JWT(JSON Web Token): 인증 프로세스

JWT(JSON Web Token)은 인증에 필요한 정보들을 암호화하지 않고, 인코딩된 JSON 토큰입니다. 암호화와 달리 인코딩은 원래의 정보를 복원 가능하므로, JWT의 내용은 제3자에게 완전한 비밀이 아닙니다. 그렇다면 서버에서는 어떻게 JWT가 유효한지 식별할 수 있을까요? JWT는 헤더, 페이로드(Payload), 서명(Signature) 이렇게 3가지 섹션으로 구성되어 있습니다. 헤더에는 사용할 해시 알고리즘의 종류가 담겨있습니다. 이 해시 알고리즘을 이용해서, 헤더(Base64Url 인코딩) + 페이로드(Base64Url 인코딩) + 비밀키를 이용해 해싱 한 값을 서명에 담습니다. 서버에서는 별도로 관리하는 비밀키가 있기 때문에, (헤더 + 페이로드 + 비밀키)의 해시 값이 서명과 일치하는지 여부를 확인할 수 있습니다. 헤더와 페이로드는 단순 인코딩된 값이기 때문에 제3자가 복호화 및 조작할 수는 있지만, 서명에 필요한 비밀키는 서버 측에서만 알고 있기 때문에, 제3자가 같은 서명값을 만들어내는 것은 어렵습니다. 따라서 이 서명값을 통해 토큰이 위조나 변조가 되었는지를 확인할 수 있습니다. 따라서 서버는 클라이언트가 헤더에 담아서 보낸 JWT가 내 서버에서 발행한 토큰인지 일치 여부를 확인하여 일치한다면 인증을 통과시켜주고 페이로드에 들어있는 유저의 정보를 클라이언트에게 돌려줍니다. 이러한 인증 방식 때문에, JWT는 인증을 위한 별도의 저장소(DB)가 필요 없습니다. 토큰 자체에 유저에 대한 정보가 들어있기 때문에, DB를 조회해서 유저 등급을 얻지 않아도 바로 원하는 정보를 얻을 수 있습니다.

🌐 JWT 토큰 인증 이란? (쿠키 vs 세션 vs 토큰)

Inpa Dev 👨‍💻

🌐 JWT 토큰 인증 이란? (쿠키 vs 세션 vs 토큰)

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 7월 24일 오전 12:39

 • 

저장 92조회 3,230

댓글 0

    함께 읽은 게시물

    이력서 팁: 문제를 해결한 경험, 이렇게 써봐요!

    ... 더 보기

    Whatever - 인정받는 메이커들의 왓에버 과외

    Whatever

    Whatever - 인정받는 메이커들의 왓에버 과외

     • 

    저장 13 • 조회 939



    무너지고 있는 프론트엔드, 백엔드 직군의 경계에 대한 고찰

    AI 기술이 우리 일상과 산업 전반에 스며들면서 소프트웨어 개발 환경 역시 큰 변화의 물결을 맞이하고 있다. 특히 코딩을 돕는 AI 에이전트의 등장은 개발 생산성에 대한 큰 변화를 만들고 있다. 나 역시 이러한 변화를 체감하며, 나에게 익숙한 소프트웨어 개발의 대표적인 두 축인 프론트엔드와 백엔드 영역에서 AI 기술이 미치는 영향과 그로 인해 변화하는 소프트웨어 엔지니어의 역할에 대해 개인적인 생각을 정리해 본다.

    ... 더 보기

     • 

    저장 37 • 조회 4,770


    왜 내 개발 프로젝트는 포트폴리오에 적기 부끄러울까

    ... 더 보기

    사용자가 공유한 콘텐츠

    page.stibee.com

    사용자가 공유한 콘텐츠

    구현패턴으로 DB사용비용을 10배줄이기

    ... 더 보기

    kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

    GitHub

    kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

     • 

    댓글 1 • 저장 31 • 조회 2,557