jwt 2

[Node.js] passport 모듈을 이용한 카카오 로그인

예전에 프로젝트 할 때 시간이 부족해서 소셜 로그인을 다루지 못했었다. 이론은 알고 있었기에 직접 구현해보고 싶었는데 하지 못해서 많이 아쉬웠다. 이번에 소프트 스퀘어드에서 외주를 진행하며 다시 소셜 로그인을 다룰 수 있는 기회가 왔다. Node.js 를 통해 개발하고 있기 때문에 passport, passport-kakao 모듈을 어떻게 사용하는지 알아보자. 소셜 로그인 인증 시퀀스 기본적으로 소셜 로그인은 아래와 같은 방식으로 진행된다. 클라이언트가 카카오로부터 발급받은 access token을 서버에 전달하고, 서버는 그것을 다시 카카오에 검증 요청한다. 카카오 서버는 자기가 클라이언트에게 부여한 토큰과 서버로부터 받은 토큰이 같을 경우 사용자 정보를 내준다. 이것이 우리가 흔히 알고 있는 소셜 로..

[서버/Server] 백엔드 틀 잡기 5/5 - 인증

로그인 인증 및 유지 방법 HTTP의 큰 특징으로는 stateless와 connectionless가 있다. stateless는 무상태성, 즉 상태 관리를 하지 않는다는 뜻이다. 조금 더 쉽게 설명하자면 서버가 클라이언트의 상태를 몰라 식별할 수 없다는 말이다. 따라서 로그인 상태가 유지되지 않아 매 요청마다 다시 로그인해줘야하는 번거로움이 있다. 왜 stateless한 특징을 갖는지 의문이 생길 수 있다. 그 이유가 바로 connectionless이다. 클라이언트와 서버가 성공적으로 연결을 맺어 요청에 대한 응답을 마치면 연결을 끊어버린다. 이러한 비연결성의 장점은 연결을 유지하기 위한 리소스를 줄여 더 많은 연결을 가능하게 한다. 하지만 매번 새로운 연결 과정을 거치기 때문에 오버헤드가 발생한다는 단점..