LTS 버전 : 안정적이고 신뢰되는 버전
최근 버전은 모듈이 호환이 안되는 경우가 많다.
EC2는 명령어를 통해 설치를 해야한다.
데이터 베이스는 전부다 올리면 안된다. > gitignore을 통해 올리지 않는다.
JWT
를 하기 전에 알아야하는 개념은 OAuth에 대해 알아야한다.
OAuth(Open Authorization)
- 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 어플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준
- 즉, 서드파티 어플리케이션이 사용자의 계정에 접근할 수 있는 권한을 부여하기 위한 프로토콜
현재는 OAuth 2.0을 사용하고 있다.
- JWT는 웹 애플리케이션에서 정보를 안전하게 전송하기 위한 간단한 방법
- 인증된 사용자를 식별하거나 데이터에 서명을 하여 변조를 방지하는 데 사용
- 모두가 열어봐서 확인할 수 있기 때문에 중요한 정보(EX 비밀번호)는 담으면 안된다.
- 암호화는 되어 있지만 언제든지 해석할 수 있다.
JWT 구성
- Header
- Payload
- Signature : 위의 두개의 조합에 비밀 키를 사용해 생성
작동 방식
주요함수
sign : 서버측에서 JWT를 생성할 때 사용
jwt.sign(payload, secretOrPrivateKey, [options, callback])
verify : 클라이언트나 서버에서 받은 JWT의 유효성을 검증할 때 사용
jwt.verify(token, secretOrPrivateKey, [option, callback])
사용하기
npm i jsonwebtoken
jwt 해보기
npm init -y
npm i express jsonwebtoken
으로 express와 jsonwebtoken을 설치하고 아래와 같이 적은 후
import express from 'express';
import jwt from 'jsonwebtoken';
const app = express();
const SECRET = 'secretkey'
app.use(express.urlencoded({extended:true}))
app.use(express.json())
app.post('/login', (req, res)=>{
const { id } = req.body;
const token = jwt.sign({id}, SECRET);
console.log(token);
})
app.listen(8080, ()=>{
console.log('연결')
});
서버를 연다 그 이후엥 포스트 맨에서 객체 형태로 보내면
vscode에 다음과 같은 문장이 온다 이를 jwt에 입력하면 어떤 것을 받았는지 확인할 수 있다.
토큰을 보내는 방법
저기서 토큰에 받은 토큰을 보내면 된다. 전부다 받을려면
req.headers로 더 많은 정보를 맏을 수 있고, 토큰 값만 받을려면
이와 같이 입력하고 다시 보내면 된다.
jwt 를 검증하는 코드
err의 명확한 상태값을 보내주기 위해선
.status(오류 상황에 대한 숫자)
를 적으면 된다.
'포스코x코딩온 KDT 8기 풀스택 과정 회고록' 카테고리의 다른 글
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 48일(08.28)차 회고 | Soket (0) | 2023.08.28 |
---|---|
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 45일(08.24)차 회고 | Sequelize 복습 (0) | 2023.08.25 |
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 38일(08.16)차 회고 | nginx로 서버배포 (0) | 2023.08.16 |
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 36일(08.12)차 회고 | 서버구축(aws, npc(네이버 클라우드 플랫폼), 아파치, 파일질라, putty) (0) | 2023.08.12 |
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 35일(08.11)차 회고 | (0) | 2023.08.12 |