목록Token (2)
일개미 : 일상과 개발의 미학

🎟️ JWT 란? JSON Web Token의 약자로 JSON 형식의 데이터를 인코딩하여 직렬화한 것이며, 토큰 내부에는 위변조 방지를 위해 개인키를 통한 전자서명도 들어있다. 서버 - 클라이언트 간에 정보를 주고 받을 때 HTTP 요청 Header에 JSON 형식의 토큰을 실어 인증 및 식별하는 방식이다. 이 때 사용되는 JSON 데이터는 Base64 URL-safe Encode 를 통해 인코딩한다. JWT는 HMAC 알고리즘을 사용하여 '비밀키' 또는 RSA를 이용한 '공개키', '개인키' 를 쌍으로 서명할 수 있다. 전자서명에는 비대칭 암호화 알고리즘을 사용하므로 암호화를 위한 키와 복호화를 위한 키가 다르다. 암호화(전자서명)에는 개인키를, 복호화(검증)에는 공개키를 사용한다. 💡 여기서 잠깐, ..

갑자기 난이도가 급상승한 4주차였다고 한다 😰 사실 언어도 제대로 안된 상태에서 스프링부트 원리도 제대로 이해하고 만든 과제들이 아니니 당연히 알리가 없다. JWT 토큰을 활용한 로그인기능에 게시판과 댓글까지 작성 권한과 기능을 부여하는 과제였다. 먼저 로그인/로그아웃 처리과정의 핵심을 다시한번 이해해본다. 학습자료에 그림으로 잘 나와있다. 스프링에서 로그인 기능구현은 스프링 시큐리티를 활용해서 보안을 적용시킨다. 그렇다면 여기에 추가로 JWT를 활용해서 로그인하는 방식은 어떻게 적용이 될까? 다음 그림을 통해 방법을 간단히 살펴보자 이러한 내용으로 요즘 JWT를 이용해 로그인을 구현하는 곳도 많다고 한다. 하지만 많이 쓰인다고 다 좋기만 한 것은 아니다. 또한 규모가 큰 웹에서는 당연하게도 자체 기술을..