2022.01.16
이번 주차에서는 미니프로젝트를 진행하였다
팀을 배정받아 4명이서 한조를 이루어 컨셉 기획부터 웹페이지 제작까지 진행하였다.
나는 로그인,회원가입 페이지를 담당받아 기능 구현을 위해 항해에서 제공한 웹개발 플러스 강의를 통해 JWT를 공부하여 기능 구현을 하였다.
프로젝트를 진행하면서 협업을 위해 필요한 Github에 대해서도 배웠고 pull, push , marge 등 새로운 단어들에 대해서도 알 수 있게 되었다.
이번에 진행한 미니프로젝트는 JWT 와 Github 등 새로운 지식을 배울 수 있는 기회기도 하였지만, 다른사람들과 함께 하는 프로젝트로
자기가 맡은 부분에 막힌 것이 생기면 서로 조언을 주고 코드를 합치면서 서로 변수명을 맞추는 작업도 진행 하는 등 협업에 대해서도 많이 배울 수 있었다.
1주차를 진행하면서 배운 JWT 와 API란 무엇인지에 대해 정리해보려 한다.
1. JWT 란
JSON web Token 이란 Json 타입으로 속성(데이터)을 저장하여 Token으로 만든 것이다.
(여기서 Json 타입이란 데이터의 형태가 { "key" : "value" } 형태로 이루어진 것을 뜻함 )
이 토큰을 서버에서 유저한테 주게 되면 유저는 토큰을 브라우저 쿠키에 저장하여, 그 이후 유저가 활동할 때 마다 서버는 토큰만 확인 후 활동을 허락하게 된다.
JWT는 주로 회원 인증이나 인가(인증을 유지하는 것)를 할 때 사용하는데, Header + Payload + Verify Signatue 로 이루어져 있다.
(1) Header에는 암호화할 방식(alg)와, 타입 JWT가 들어간다.
(2) Payload 에는 서버에서 유저에 보낼 Data가 들어간다. (일반적으로 유저 ID 및 토큰의 유호기간)
(3) Verify Signaute은 2번 페이로드값과 서버가 감춰놓은 비밀 값을 가지고 (1)번 헤더에서 지정한 암호화할 방식(alg) 으로
암호화 하여 만들어지는 값이다. 따라서 서버가 감춰놓은 값을 알 수 없으면 디코드 할 수 없다
2. API 란
프로그램들이 서로 소통하는 방법 (코드들 사이에서의 소통)이 API 다.
서버에서 API를 만들어 배포하게 되면 API를 통해 해당 서버와 통신이 가능하게 된다.
'항해 시절' 카테고리의 다른 글
CORS란 무엇인가 (항해 5주차 회고록) (0) | 2022.07.02 |
---|---|
ORM,SQL,MVC란 무엇인가 (항해 4주차 회고록) (0) | 2022.07.02 |
DI,IoC, Bean란 무엇인가 (항해 3주차 회고록) (0) | 2022.07.02 |
객체지향프로그램, JVM이란 무엇인가 (항해 2주차 회고록) (0) | 2022.07.02 |
int, Integer 차이는 무엇인가 (0) | 2022.07.02 |