"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 방법: 인증

방법: 인증

2024-11-07에 게시됨
검색:383

How to: AUTHENTICATION

웹 애플리케이션을 구축할 때 사용자 인증을 안전하게 관리하는 것이 중요합니다. 이를 위한 두 가지 필수 라이브러리는 다음과 같습니다.

bcryptjs – 비밀번호를 안전하게 해시하고 비교하는 데 사용됩니다.
JSON 웹 토큰 – 사용자 인증을 위해 JWT 토큰을 서명하고 확인하는 데 사용됩니다.

보안 비밀번호 관리 및 토큰 기반 인증을 위해 Node.js 애플리케이션에서 이 두 라이브러리를 구현하는 방법을 다룹니다.

방법: Node.js에서 bcryptjs 및 jsonwebtoken 사용
웹 애플리케이션을 구축할 때 사용자 인증을 안전하게 관리하는 것이 중요합니다. 이를 위한 두 가지 필수 라이브러리는 다음과 같습니다.

1. 라이브러리를 설치하십시오:

설치 패키지

npm bcryptjs 설치

이제 마법을 부리는 방법을 보여드리겠습니다.

2 . 전문가처럼 비밀번호 해싱 및 비교

예전과 동일하며 새 js 파일을 만들고 항상 패키지가 필요하다는 것을 기억하세요.

const { hashSync, compareSync } = require("bcryptjs");

module.exports = {
    hashPassword: (password) => hashSync(password), 
    comparePassword: (password, hashed) => compareSync(password, hashed
};

작동 방식:

hashSync(password): 사용자의 비밀번호를 해시합니다.
CompareSync(password, hashedPassword): 일반 텍스트 비밀번호를 해시된 버전과 비교하여 사용자 로그인을 확인합니다.

3. 토큰 기반 인증을 위해 jsonwebtoken 사용

패키지 설치:

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 토큰의 신뢰성을 확인합니다.

릴리스 선언문 이 글은 https://dev.to/hopelesscoder/how-to-authentication-26ma?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3