Wecode - Project 2 (부트캠프)/독학

회원가입, 로그인, 게시물 생성 함수에서 언제 bcrypt, jwt를 활용?

JBS 12 2023. 10. 3. 13:33

<요약>

 

bcrypt 비밀번호의 안전한 저장과 비교에 사용 (bcrypt는 데이터베이스에 저장)

JWT 사용자 인증 및 권한 관리에 사용됩니다. (유저 인증 개념) 

 

회원가입 : bcrypt를 사용하여 비밀번호를 해싱하고, 

로그인: 비밀번호를 비교하기 위해 bcrypt를 사용/ 로그인 후 JWT 생성하고 사용자 인증 및 권한을 관리하기 위해 활용됩니다. 

 

게시물 생성: JWT는 사용자 인증에 필요한 정보를 제공하는 데 사용

 

  Bcrypt JWT 
회원가입 O (비번 해싱해서 저장) X
로그인  O (비번 비교) O (토큰 생성, 발급)
게시물 생성  X O (인증)

 

JWT(Jason Web Token)는 

사용자 인증과 관련된 다양한 기능에서 사용될 수 있으며, 

주로 회원가입, 로그인, 게시물 생성과 같은 기능에서 다음과 같이 활용됩니다:

 


1. 회원가입 (Sign-Up):

- bcrypt: 회원가입 시에는 사용자의 비밀번호를 해싱하여 안전하게 '저장'해야

bcrypt와 같은 암호화 라이브러리를 사용하여 사용자의 비밀번호를 해싱한 다음, 해시된 비밀번호를 데이터베이스에 저장합니다. 해시된 비밀번호는 원래 비밀번호를 복구할 수 없으므로 안전합니다.

 


2. 로그인 (Login):

- bcrypt: 사용자가 로그인할 때, 입력한 비밀번호를 해싱하여 데이터베이스에 저장된 해시된 비밀번호와 비교합니다. 일치하면 로그인이 허용됩니다.

- JWT: 로그인에 성공한 사용자에게 JWT 토큰을 생성하고 반환합니다. 이 토큰은 사용자를 인증하고, 토큰을 가지고 있는 사용자는 로그인한 상태로 간주됩니다. JWT 토큰은 사용자의 고유한 정보를 포함하고 있을 수 있으며, 클라이언트는 이 토큰을 저장하고 나중에 서버에 대한 요청 시에 토큰을 포함시켜 사용자를 인증합니다.

 

 

3. 게시물 생성 (Create Post):

- JWT: 게시물을 생성하는 요청에는 JWT 토큰이 필요할 수 

게시물을 생성한 사용자를 인증하고, 누가 게시물을 작성했는지를 확인하는 데 사용됩니다.

게시물을 생성할 때, JWT 토큰을 요청 헤더에 포함시켜 서버에서 사용자를 인증하고 사용자의 ID나 권한을 확인할 수 있습니다.

 


자유이용권처럼, 머리에 새기는 것 header= jwt

로그아웃하기 전까지 계속 들고다니게 해주는 것. 

 

들어올 때마다, (게시글 사용) ->

verify를 써서, 너 자유이용권있네? 있어 

 

상세페이지에는 쓸 필요없죠. 로그인이 필요없으니까. 

 

 

 

Foundation2- Node.js에서 Bcrypt, 해쉬함수 (makeHash, checkHash) **

비밀번호 암호화 -> 고객 데이터 소중 개인정보 보호 법령에 의거. 백엔드 개발자라고해서 고객의 비밀번호를 알 수 없음 . 단방향. 돌아갈 수 없음. -> 해쉬 함수 (한번 복호화 후에는 비밀번호를

pm-developer-justdoit.tistory.com