쿠키 :
브라우저가 서버로부터 응답으로 Set-Cookie 헤더를 받은 경우 해당 데이터를 저장한 뒤 모든 요청에 포함하여 보낸다.
naver.com과 같은 웹 사이트를 방문할 때마다 이전에 방문했던 정보를 기억하는 데이터 파일이다.userId=user-1321;userName=sparta 와 같이 문자열 형식으로 존재하며 쿠키 간에는 세미콜론(;) 으로 구분됩니다.//express형식 쿠키 할당
res.cookie(name, value [, options]);
JsonWebToken : 회원 인증을 위한 토큰발급
해싱 : 암호 저장시 사용되는 변환방법. 역상저항성을 가져 본래의 암호를 알아내기 힘들도록 한다. (+DB저장시 해싱된 암호가 저장된다.)
//클라이언트가 서버에게 요청을 보낼 때 서명하기 위해 사용한다. (서명 또는 인증)
jwt.sign(payload, secretOrPrivateKey, [options, callback]);
//return값 : jwt or err
//서명된 토큰이 올바른 토큰인지 확인하기 위해 사용한다. (확인 또는 인가)
jwt.verify(token, secretOrPublicKey, [options, callback]);
두 가지의 뒤에 들어가는 매개변수들은 같은 기능을 한다.
추가적으로 알아두면 좋은
Authorization (권한 부여 / 인가)
Authorization: <type> <credentials>
Type: Basic, Bearer, Digest등 Credentials를 인코딩/처리하고 명시한다.
Credentials: 실제 인증 토큰 또는 인코딩된 사용자 인증 자격이다.
※개념적으로 Autorization을 알고 있다면 Authorization Header를 사용한 JWT 토큰 인증(베어러 토큰)이 가능해진다.
도움을 받은 곳)
https://www.daleseo.com/js-jwt/
https://www.npmjs.com/package/jsonwebtoken
https://beeceptor.com/docs/concepts/authorization-header/