Nest.js 카카오 REST API 로그인 구현하기 | access token, refresh token 이전 게시물 access token, refresh token 토큰 기반 인증 방식 | JWT, HTTP header카카오 로그인을 구현하면서 토큰 기반으로 로그인 상태를 유지시키는 기능을 구현해보려고 합니다. 이전에는 계속 세션 기반으로만 직접 구현해 봤고, 토큰 기반으로는 이미 구현된 로직을 활kyung-a.tistory.com 이제 토큰 개념을 알았으니 카카오 로그인 API를 활용해서 로그인을 진행하고 자체 토큰을 발급해서 로그인 상태를 유지하는 로직을 짜보려고 합니다. 이 전에 제 고민들을 먼저 나열해 볼까 합니다(카카오 API 시작하기에 대한 내용은 다루지 않고, 비즈니스 로직만 다루겠습니다) 구현 하면서 했던 고민카카오 측에서 액세스, 리프레시 토큰을 발급해 주는데 내가 따로 발급을 할 필요.. access token, refresh token 토큰 기반 인증 방식 | JWT, HTTP header 카카오 로그인을 구현하면서 토큰 기반으로 로그인 상태를 유지시키는 기능을 구현해보려고 합니다. 이전에는 계속 세션 기반으로만 직접 구현해 봤고, 토큰 기반으로는 이미 구현된 로직을 활용했던 경험밖에 없었습니다. 그래서 토큰 기반으로 구현을 하다 보니 왜 액세스 토큰을 저장 안 해도 되는 거지?라는 의문이 들더라고요. 지금은 로직을 다 구현한 상태인데, 다 구현하고 생각해 보니 그냥 내가 비즈니스 로직만 알았고, 인증 방식의 개념 정의를 몰라서 생긴 의문이었던 것 같더라고요... 3년 전에 한번 공부했던 적이 있었는데.. 또또또 다 잊고 말았지 뭐야뭐야... 그래서 다시 한번 상기 겸! 블로그에 정리합니다. 세션 기반 vs 토큰 기반세션 기반사용자가 로그인할 때 서버에서 고유한 세션 ID를 생성해서 이를.. Nest.js 시작하기 Nest.js란?Node.js 기반의 TypeScript용 백엔드 웹 프레임워크. 제어 역전성을 가지는 프레임워크적 성향이 강하다제어 역전성이란?객체의 생명 주기, 메서드의 제어를 모두 외부에 위임하는 설계 원칙애플리케이션의 제어 책임이 프로그래머에서 프레임워크로 위임되므로, 개발자는 핵심 비즈니스 로직에 더 집중할 수 있다. Nest.js는 java spring, angular의 영감을 받았다 (어쩐지 겁나 비슷하드라) 장단점[장점]일관된 API구조화된 아키텍처 (Provider, Controller, Module)CRUD 컨트롤러, 서비스, 유닛 테스트, DTO, 엔티티 정의까지 한방에 만들어주는 CLI완벽한 타입스크립트 지원[단점]러닝 커브가 있음. 앵귤러 같다고 생각하면 된다 (앵귤러는 생각보다 .. JJWT 라이브러리 설치 에러 오늘은 간단한 사이드 프로젝트 진행중인 백엔드 동료가 직면했던 에러에 대해 기록해보려고 합니다 일단 제 포지션은 프론트이고 동료가 백을 맡고 개발하고 있었고, 로그인 구현을 JWT Token 발급 형식으로 진행하자고 결정을 내렸습니다 백엔드 동료는 스프링 부트를 기반으로 작업 중이었고, jjwt 라이브러리를 설치하려는데 import가 되지 않아 JWT Token 발급 형식을 사용을 못하게 되는건가😭.. 상황에 놓여있었습니다 그 당시에는 검색해도 방법이 뜨질 않았고 (...) 제시된 방법도 다 써봤지만 설치가 되지 않았고 (...) 저희가 발견한 야매 방법을 소개하겠습니다 1. dependency 추가 저는 프론트라 잘 모르지만 현재 백에서는 gradle 라는걸 사용하는 것 같습니다 그래서 build.gr.. ❌ Assertion failed: new_time >= loop->time, file c:\ws\deps\uv\src\win\core.c, line 309 | Node.js 에러 회사에 다니면서 빅커머스 기반의 쇼핑몰 템플릿을 수정하게 되었습니다 당시 회사 노트북 받기 전이라 제 개인 노트북으로 작업을 했었는데요 그 당시 인텔리제이를 통해 로컬 서버 접속이 원활하게 진행 되었습니다 그러나 회사 노트북으로 옮긴 후 로컬 접속을 하려고 stencil start (=npm run start)를 했더니 Assertion failed: new_time >= loop->time, file c:\ws\deps\uv\src\win\core.c, line 309 라는 오류가 뜨면서 접속이 안되는 겁니다... 제 사수님과 node_modules 삭제도 해보고... npm install도 다시 해봤다가.. Node.js를 삭제했다가... 버전 관리 했던 nvm을 삭제했다가..... 웬 갑자기 파이썬.. Node.js 시작, 세팅하기 | Express, ES6 문법 사용, nodemon 설치 저는 항상 Node.js 환경에서 개발을 시작하고 있습니다 항상 제 노트북에서 개발하다가 취업 후 회사 데스크톱으로 시작하려고하니... 제가 어떻게 node.js를 세팅 했는지 다 까먹은거죠...? 멍청이인가... 진짜로 저는 강의에서 시킨대로만 했던걸까.... 너무 바보스럽더라고요 그래서 이제 제가 아무 생각없이 따라하기만 했던 설정들을 하나하나 짚어가며 왜? 사용하는지? 에대해 알아보려고 합니다 Node.js 설치하기 nodejs.org/ko/download/ 사이트 접속 후, 본인 환경에 맞게 다운로드 하시면 됩니다 되도록이면 LTS 버전으로 다운받는걸 추천드립니다 제대로 설치가 되었다면 cmd 또는 터미널을 열어서 node -v 라고 치시면 버전이 뜰 겁니다 (node.js를 다운받으면 npm도 .. 이전 1 다음