항해99의 1주 차가 끝났다.
정신없던 미니 프로젝트로 시작해 숨막히는 알고리즘으로끝난 1주 차의 회고 주제는
JWT와 API를 정리하는 것으로 주어졌다.
미니프로젝를 하며 내가 JWT를 이해하고 활용했던 부분과
API를 이해하고 설계했던 내용으로 정리를 해보면 좋을 것 같다.
1.Json Wen Tokens
jwt는 " . "을 통해 3파트로 header.payload.signature 순으로 구분된다.
Header : 토큰의 타입과 해시 암호화 알고리즘으로 구성되어있다.
Payload : 토큰이 갖는 데이터를 말한다 (key : value 형태)
Signauture : Header에 정의된 암호화 알고리즘을 통하여 암호화된 비밀 값 Secret Key값을 포함하여 암호화됨
1. hash 암호화 알고리즘
- hashlib.sha256 -
(어떤 길이의 값을 넣어도 항상 256byte의 결과 값이 나옴)
- ((password_receive.encode('utf-8)).hexdigest() -
.encode('utf-8') : utf-8형식(유니코드)로 password_receive를 읽어오겠다.
.hexdigest() : 16진수 숫자만 포함하는 두 배 길이의 문자열 객체로 반환
2. Payload
3. 토큰의 발행
4. 토큰에 접근
- token_receive = request.cookies.get('token') -
cookies에서 token이란 key값으로 읽어와 token_receive에 할당한다.
- payload = jwt.decode(token_receive, SECRET_KEY, algorithms=['HS256']) -
jwt.decode를 통하여 암호화 되었던 jwt를 복호화 payload에 할당한다.
1.Application Programing Interface
응용 프로그램 프로그래밍 인터페이스)는 컴퓨터 컴퓨터 프로그램 사이의 연결이다.
일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다
-위키백과-
내가 이번 항해 1주차에서 프로젝트를 진행하며 이해한 API는
home button을 누르면 home의 내용을 담은 html을 반환해주는 것부터
login버튼을 누르면 사용자의 input값을 db에 전송 , 비교 후 login을 성공,실패를 반환 등의
사용자의 요청에 따라 서버에서 사용자의 요청에 응답하는 모든 행동이라고 생각한다.
API의 개념은 이 정도로 정리하고 API의 종류에 대해서 정리해볼까한다.
API개념에 대해서 이 정도만 정리하는 이유는 후에 내가 조금 더 공부하고 이해했을 때
스스로 지금의 나를 지적할 수 있길 바라는 마음이다.
1.Private api
내부 API를 뜻하며 회사 또는 어떤 단체 내부의 개발자가
내부 자체의 서비스를 개선하기 위해 설계 후에 그룹에 배포합니다.
그룹의 내부에만 공개되고 사용되는 api이며 외부에서의 접근이 불가능합니다.
2.Public api
개방형 API로 모두에게 공개발행 됩니다.
누구나 접근이 가능하며 사용이 가능합니다.
ex)구글 맵 , 네이버 지도 , 오픈 스트리밍 등
3.Private api
API의 소유권 보유측에서 동의한 사람에게만
api가 공유되며 특정 대상만 api의 사용이 가능하다.
시간이 어떻게 지나가는지 오늘이 몇 일이고 무슨 요일인지도 모르게
정신 없이 지난 항해의 첫 주는 생각보다 힘들기도 많이 힘들었지만
배워보고 싶었던 내용들을 배운다는 즐거움과 기쁨도 컸다.
끝까지 즐거운 마음으로 남은 기간들도 헤쳐나갈 수 있길 바라며
'Plo Hanghae99' 카테고리의 다른 글
항해 99 9일차 (알고리즘 모의고사) (0) | 2022.03.16 |
---|---|
항해 99 8일차 (알고리즘) (0) | 2022.03.14 |
항해 99 6일차 (알고리즘) (0) | 2022.03.13 |
항해 99 5일차 (알고리즘) (0) | 2022.03.12 |
항해 99 4일차 (개인 공부) (0) | 2022.03.11 |