[항해99][WIL]WK01

Olivia·2022년 7월 18일
0

항해99

목록 보기
1/3

정신없이 시작한 항해가 벌써 일주일이 흘렀다.
처음부터 프로젝트를 진행하면서 어설픈 실력으로 이것저것 해보겠다고 끙끙대느라 더 정신이 없었던 것 같다.
내가 만들고자 했던 페이지와 현실의 내가 구현할 수 있는 페이지와의 괴리때문에 결국은 만들 수 있는걸 하자 하고 되돌아온 순간이 몇 번 있었다.

공공 API를 이용하고 싶어서 사실 전통주를 테마로 선택한거였는데 너무나 방대한 사이즈 때문에 포기하고 그냥 해당 분야만 크롤링해오는 것으로 결정했다.
사실 이 부분은 API에 필터링을 적용할 수 있었으면 해결할 수 있었을텐데ㅠㅠ 이 부분은 더 배워서 해결하는 것으로..

우리 팀이 겪었던 또 하나의 어려웠던 부분은 JWT부분이었다.
결국은 로그인을 하지 않고도 포스팅 페이지로 접근하게 만들었다는....

아쉬운 점들이 너무 많았지만 그래도 끝까지 어떻게든 해냈다는데에 의의를 두고 한 주를 마무리했다.
항해를 통해 더 성장해서 좀 더 완성도 높은 프로젝트를 만들 수 있기를 기대해본다.

JWT란?

JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA.

Although JWTs can be encrypted to also provide secrecy between parties, we will focus on signed tokens. Signed tokens can verify the integrity of the claims contained within it, while encrypted tokens hide those claims from other parties. When tokens are signed using public/private key pairs, the signature also certifies that only the party holding the private key is the one that signed it.

JWT(Json Web Token)란 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. JWT는 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. 주로 회원 인증이나 정보 전달에 사용되며 가동 로직은 다음과 같다.

먼저 애플리케이션이 실행될 때, JWT를 static 변수와 로컬 스토리지에 저장한다. 이 때 static 변수에 저장되는 이유는 HTTP 통신을 할 때마다 JWT를 HTTP 헤더에 담아서 보내야 하는데, 이를 로컬 스토리지에서 계속 불러오면 오버헤드가 발생하기 때문이다. 클라이언트에서 JWT를 포함해 요청을 보내면 서버는 허가된 JWT인지를 검사한다. 또한 로그아웃을 할 경우 로컬 스토리지에 저장된 JWT 데이터를 제거한다. (실제 서비스의 경우에는 로그아웃 시, 사용했던 토큰을 blacklist라는 DB 테이블에 넣어 해당 토큰의 접근을 막는 작업을 해주어야 한다.)

API란?

An API is a mechanism that allows two software components to communicate with each other using a set of definitions and protocols. For example, the Meteorological Agency's software system contains daily weather data. The phone's weather app "talks" to this system through an API and displays the latest daily weather information on the phone.

API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말이다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타내며, 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어있다.

Sorces
https://mangkyu.tistory.com/56
https://jwt.io/introduction
https://aws.amazon.com/ko/what-is/api/#:~:text=API%20stands%20for%20Application%20Programming,other%20using%20requests%20and%20responses.

profile
No special aptitude, but persistent effort

0개의 댓글