API
API: Application Programming Interface
- 다른 애플리케이션에서 현재 프로그램의 기능을 사용할 수 있게 함
- 웹 API: 다른 웹 서베시의 기능을 사용하거나 자원을 가져올 수 있게 함
- 다른 사람에게 제공하고 싶은 부분만 API를 열고 제공하고 싶지 않은 부분은 만들지 않으면 됨.
- API에 제한을 걸어 일정 횟수 내에서만 가져가게 할 수 있음
기본 세팅
npm init
npm i bcrypt cookie-parser dotenv express express-session morgan mysql2 nunjucks passport passport-local
npm i sequelize uuid
npm i -D nodemon
npm i jsonwebtoken
- package.json
"start":"nodemon app"
JWT
기존의 웹사이트가 아닌 다른 클라이언트가 데이터를 가져가려면 인증이 필요하다.
이를 위해 Json Web Token을 사용한다.
구성
- 헤더
- 페이로드
- 시그니처
데이터베이스의 호출을 줄여 부담을 덜 수 있다.
대신 민감한 내용을 넣으면 안된다. →노출될 위험이 있음