WIL_21.11.07

이서현·2021년 11월 7일
0

항해99

목록 보기
7/14
post-thumbnail

배운 게 많다. 너무 많다. 시간도 빨리 지나갔다.

ajax, cookie, session, python, JWT, API, 팀프로젝트, 깃 등등
많이 알게 되었다

그 중에서 꼭 알고 있어야 하는 JWT랑 API에 대해 다시 한 번 알아보자

API(Application Programming Interface)

쉽게 설명하자면,
음식점에 가서 메뉴판을 보고 주문(요청)을 하면
요리사가 만든 음식을 점원이 가져다 준다(응답)
나는 음식을 맛있게 먹는다

먹으려는 음식의 조리법을 몰라도(API의 기능을 어떻게 구현하는지 몰라도)
나는 음식을 맛있게 먹으면 된다(API가 갖다주는 걸 사용만 하면 된다)

JWT(Json Web Token)

쿠키, 세션 말고 다른 방법 = 토큰방식
인코팅또는 암호화된 데이터를 이어붙인 형태
header, payload, signature로 이루어져 있음
base64로 디코딩 하면 JSON형식으로 된 정보들이 담겨져 있다
토큰에 담긴 사용자 정보 등의 데이터를 claim이라 한다
특별한 암호화도 아니고 base64로 인코딩 되어 있는거면
다시 디코딩해서 볼 수 있다는 건데? 이 문제는 어케 해결?
그래서 시크릿키 사용 시크릿키는 서버에 감춰두기
그래서 아무리 사용자가 디코딩을 해서 사용한다 해도
시크릿키를 모르기 때문에 토큰에 접근할 수 없다

엑세스 토큰, 리프레시 토큰도 있다


JWT 인증방식

1.사용자가 id와 password를 입력하여 로그인
2.서버는 요청을 확인하고 Access token(사인된 정보)을 브라우저에게 보낸다
3.클라이언트에서 API를 요청 할 때 Access token을 담아서 보낸다
4.서버는 JWT 사인을 체크하고 Payload로부터 사용자 정보를 확인해 데이터를 반환한다

내가 썼지만 아직 완벽히 이해하지 못했다
더 공부해야지

profile
🌿💻💪🧠👍✨🎉

0개의 댓글