1보 전진을 위한 3보 후퇴

Today I Learned 날짜 2023년 11월 13일 월요일 내용 진행은 못하고 여기저기 늪에 빠져 허우적거리다 하루가 끝나버렸다. 2등 뽑기 대회의 1등 오늘 API를 구현 중에 이상한 상황을 맞닥뜨렸다. 내가 구현하던 것은 로그인을 시도하는 메서드로서, 성공하면(정확히는 입력인 아이디와 비밀번호가 데이터베이스 존재한다면) 해당 유저가 DB에서 가진 고유 id(회원가입할 떄 입력하는 user_id가 아님)를 반환하도록 하는 기능이였다. 문제는 첫번째 호출 때는 response를 반환하지 않는 문제였다. 같은 payload를 보내도 첫번째는 response가 나타나지 않고 두번째만 나타났다. 여기서 첫번째라함은 해당 페이지가 로드된 이후의 가장 첫 호출이다. 꽤 오래 고생했는데, 원인은 CORS로 인한 것으로 판단되었다. 따라서 현재 Local 상황에서는 CORS의 Origins를 제한없이 풀어놨더니 해당 문제가 해결되었다. 물론 CORS를 무력화시킨 것이기 때문에 정확한 원인을 찾아 해결하고 Cors를 정상화시켜야 하지만, 우선 갈길이 멀기 떄문에 해결한 것만으로도 다행이다. ...

2023년 11월 13일 · 1 분 · 배준수

JWT와 코드 분석

코드는 공개하지 않았습니다! JWT 정의 JSON Web Token의 약자로, 정보를 JSON 개체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의한 개방형 표준이다. 상대적으로 크기가 작은 덕분에 URL, POST, 혹은 HTTP 헤더로 빠르게 전송될 수 있다. JWT는 Authorization(권한 허가)에 주로 사용되어, 로그인한 사용자는 이후 Request의 header에 JWT를 포함시켜 보냄으로서 루트, 서비스, 리소스에 대한 접근이 허용된다. 물론 주로 쓰이는 방법일 뿐, JWT가 반드시 Single-Sign-On을 위해 만들어진 기술은 아니다. 등장 배경 기존 authorization은 XML을 기반으로한 SAML(Security Assertion Markup Language) 형식을 이용하였다. 하지만 너무 크고(verbose) 느리다는 단점이 있었다. 따라서 크기가 작아 가볍고 전송이 빠른 JWT를 사용하게 되었다. ...

2023년 10월 12일 · 4 분 · 배준수