목록전체 글 (155)
Rootable의 개발일기
📌 정의 클라이언트와 서버 사이에서 인증 및 권한 정보를 안전하게 전달하기 위한 JSON 형식의 암호화된 문자열 📢 주로 인증, 권한 부여, 정보 교환을 위해 사용함 JWT는 공유될 필요가 있는 정보를 가진 JSON 객체들을 포함한다. 각 JWT는 malicious party 또는 client에 의해 JSON 내용이 변경되지 않는 것을 보장하기 위해 암호화를 사용하여 서명받는다. 📌 JWT를 사용하는 이유 인증 서버가 Plain JSON으로서 데이터를 보낸다면 Client Application API는 올바른 정보를 받은 것인지 검증할 방법이 없다. 예를 들어 malicious attacker가 user ID를 변조할 수 있는데, 그때 Client Application API는 어떤 일이 일어났는지 알 ..
📌 에러 내용 ERROR 21512 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Infinite recursion (StackOverflowError); //원인 nested exception is com.fasterxml.jackson...
📌 정의 Promise 기반의 HTTP 클라이언트 백엔드 또는 서드파티 API에 네트워크 요청이 필요한 애플리케이션을 개발할 때 사용하며, 네트워크에 요청을 전달하면 이행 혹은 거부할 수 있는 promise 가 반환된다. 📢 두 클라이언트 모두 비동기 🔍 Promise 비동기 작업을 수행한 후 미래에 받을 성공 또는 실패에 대한 결과값에 대한 처리기 비동기 작업은 실행 시점에는 그 결과를 알 수 없지만, 특정 시점에 완료 또는 실패에 대한 결과를 가져야 한다. 이를 위해 Promise 를 사용할 수 있으며, 마치 동기 메서드처럼 값을 반환할 수 있다. 다만, 최종 결과를 반환하는 것이 아니고 미래의 어떤 시점에 결과를 제공하겠다는 약속을 반환한다. ✔ Promise 상태 대기(pending): 이행하지도..
JSON 통신을 하는 프로젝트를 진행하면 다음과 같은 에러를 만날 수 있다. 그래서 해당 글에서는 CORS 정책과 관련된 내용을 정리해 보려고 한다. 📌 CORS란? 다른 출처 간의 자원을 공유하는 정책 🔍 출처(Origin) 우리가 어떤 사이트에 접근할 때 작성하는 URL은 아래와 같이 구성되어 있다. 여기서 Protocol, Host, Port를 합친 URL을 출처(Origin)이라고 한다. 📌 웹 보안 정책 웹은 보안을 위해 콘텐츠 보안, 연결 보안, 데이터 보안, 정보 유출, 무결성, 클릭재킹 보호, 사용자 정보 보안 등의 주제로 나눠 각 주제에 대한 보안 솔루션을 갖고 있다. 이 중에서 무결성을 위해 출처에 대한 정책을 갖고 있는데 이것에 대해 이야기하려고 한다. 🔍 Same Orig..