Redis로 Session 관리하기 사이드 프로젝트에서 JWT를 쿠키에 저장하는 방식으로 인가를 구현하게 되었습니다. 처음에 각각 명확한 장/단점이 존재하는 쿠키 방식과 세션 방식 중 고민을 많이 했었는데, JWT 정보가 클라이언트 측에 저장되다 보니 쿠키에 저장된 JWT 정보만 탈취하면 너무나도 쉽게 계정을 도용해서 접속할 수 있을 것 같다는 생각이 들었습니다. 사용자가 얼마나 될지 모르겠지만, 그래도 사용자에게 로그인에 대한 찝찝함을 제공하지 않으려면 그래도 안전한 세션 방식을 활용하는 것이 좋을 것 같아서 세션 방식으로 다시 적용하게 되었습니다. (찾다 보니 쿠키, 세션의 장점을 모두 활용하는 방식으로 함께 적용한다고도 합니다.) . 세션 저장소는 in-memory data store(redis)를..
Project code in the Github{:target="_blank"} SpringBoot Security Spring Security Docs{:target="_blank"} Spring Security Architecture{:target="_blank"} Dependency springBoot Security 사용을 위한 의존성 thymeleaf에서 security 사용을 위한 의존성 build.gradle plugins { id 'org.springframework.boot' version '2.5.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'ja..
.Install JSON Web Token from npm - 웹표준 (RFC 7519) 으로서 두 개체에서 JSON 객체를 사용하여 가볍고 자가수용적인 (self-contained) 방식으로 정보를 안전성 있게 전달 (링크에서 자세한 설명을 볼 수 있었다)- install jsonwebtoken npm i jsonwebtoken - 여기서 jsonwebtoken을 decoding 할 수 있다. .Login 과정 1. 로그인- 로그인 페이지에서 로그인을 하게 되면 login.ejs 를 호출하게 된다.1234567/*Server.js*/ app.get('/login', function(req, res){ res.render('login');})Colored by Color Scriptercs login.e..