웹 애플리케이션을 구축할 때 사용자 인증을 안전하게 관리하는 것이 중요합니다. 이를 위한 두 가지 필수 라이브러리는 다음과 같습니다.
bcryptjs – 비밀번호를 안전하게 해시하고 비교하는 데 사용됩니다.
JSON 웹 토큰 – 사용자 인증을 위해 JWT 토큰을 서명하고 확인하는 데 사용됩니다.
보안 비밀번호 관리 및 토큰 기반 인증을 위해 Node.js 애플리케이션에서 이 두 라이브러리를 구현하는 방법을 다룹니다.
방법: Node.js에서 bcryptjs 및 jsonwebtoken 사용
웹 애플리케이션을 구축할 때 사용자 인증을 안전하게 관리하는 것이 중요합니다. 이를 위한 두 가지 필수 라이브러리는 다음과 같습니다.
설치 패키지
npm bcryptjs 설치
이제 마법을 부리는 방법을 보여드리겠습니다.
예전과 동일하며 새 js 파일을 만들고 항상 패키지가 필요하다는 것을 기억하세요.
const { hashSync, compareSync } = require("bcryptjs"); module.exports = { hashPassword: (password) => hashSync(password), comparePassword: (password, hashed) => compareSync(password, hashed };
작동 방식:
hashSync(password): 사용자의 비밀번호를 해시합니다.
CompareSync(password, hashedPassword): 일반 텍스트 비밀번호를 해시된 버전과 비교하여 사용자 로그인을 확인합니다.
패키지 설치:
npm jsonwebtoken 설치
jsonwebtoken을 사용하면 인증된 각 사용자에 대해 보안 토큰(JWT)을 생성할 수 있습니다. 이 토큰은 클라이언트로 전송되며 후속 요청 시 사용자를 인증하는 데 사용될 수 있습니다.
const { sign, verify } = require('jsonwebtoken'); const secretkey = "yoursecretkey"; // Secret key to sign the token module.exports = { logToken: (payload) => log(payload, secretkey), // Create JWT token verifyToken: (token) => verify(token, secretkey) // Verify JWT token };
작동 방식:
signToken(payload): 비밀 키를 사용하여 지정된 페이로드(예: 사용자 데이터)로 서명된 JWT를 생성합니다.
verifyToken(token): 동일한 비밀 키를 사용하여 JWT 토큰의 신뢰성을 확인합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3