RSS DEV 커뮤니티

JWT 및 Bcrypt를 사용한 내 인증 구현

저자는 개인 프로젝트에서 Node.js, Express, PostgreSQL, 비밀번호 해싱을 위한 bcryptjs, 그리고 세션 관리를 위한 JSON 웹 토큰(JWT)을 사용하여 상태 비저장 인증을 구현했습니다. 프로젝트 구조는 authRoutes, authController, 그리고 utils/auth라는 세 가지 주요 부분으로 나뉩니다. authController는 데이터 유효성 검사, 데이터베이스와의 상호 작용, 응답 결정 등 비즈니스 로직을 포함합니다. utils/auth 파일은 코드 반복을 피하기 위해 비밀번호 및 토큰 생성을 위한 보조 함수들을 담고 있습니다. 사용자를 등록할 때 비밀번호는 되돌릴 수 없는 해시를 생성하기 위해 bcryptjs를 사용하여 해싱됩니다. authController는 `registerUser` 함수에서 이 과정을 처리합니다. 로그인 시 비밀번호 유효성을 검사한 후, 환경 변수에 저장된 비밀 키를 사용하여 JWT 토큰이 생성됩니다. JWT 토큰을 검증하여 라우트를 보호하기 위한 미들웨어 함수가 구현되었으며, 토큰이 유효하지 않거나 누락된 경우 접근이 거부됩니다. 저자는 자신의 구현에 대한 피드백과 다른 사람들이 이와 다르게 구현할지에 대해 질문합니다.
favicon
dev.to
Minha implementação de Autenticação com JWT e Bcrypt
Create attached notes ...