[Node.js] JWT Token 생성 및 검증(오류 제거)
프레임워크/Node.js

[Node.js] JWT Token 생성 및 검증(오류 제거)

 

jsonwebtoken 설치

 

$ npm install jsonwebtoken --save

Node.js에서 위 코드를 입력하여 jsonwebtoken을 설치한다

 

오류 화면

 

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@2.3.2

설치하게 되면 저는 위와 같이 오류가 났습니다. 

 

$ npm install jsonwebtoken --save --no-optional

 

그래서 위의 코드를 입력하여 optinal Skipping failed 오류를 없애줍니다.

하지만 아직 No repository field 오류가 남아있습니다. 

 

$ sudo vi package.json

node.js를 설치한 폴더(package.json 파일이 존재하는 곳 저는 /var/www에 설치했습니다)에 들어간 후 위의 코드를 입력해줍니다.

 

vi 파일에 "private": true를 작성해주고 esc 누르고 wq로 저장합니다

 

$ npm install jsonwebtoken --save --no-optional

다시 위의 코드를 입력해주면 오류없이 성공적으로 설치가 완료됩니다.

 

 

JWT 적용

 

자신의 프로젝트에 require('jsonwebtoken');을 추가합니다.

 

위의 코드를 추가합니다. sign()을 이용하여 jwt를 생성합니다. 

저는 로그인 API를 실행하는 부분에 위 코드를 추가해줬습니다. 

 

 

 

 

JWT 확인

 

먼저 로그인할 유저를 먼저 생성했습니다.

 

생선된 유저의 password가 따로 작성한 비밀번호 암호화로 인해 암호화된 비밀번호로 변경된 모습을 확인할 수 있습니다. "testpassword" --> "e9e633097~~"

 

 

성공

/app/login을 통해 로그인을 해주면 위와 같은 실행 결과가 뜹니다.

 

 

관련글