← 전체 글로 돌아가기

API

API 인증이 자꾸 풀릴 때 확인하는 것

인증 쿠키가 제대로 전달되고 있는지, 응답 상태가 정상인지 빠르게 진단하는 방법을 정리했다.

API 인증 문제는 요청과 응답이 눈에 보이지 않아서 화면만 봐서는 알기 어렵다. 하지만 기본적인 확인 순서만 잘 따르면 문제를 빠르게 찾을 수 있다.

인증 쿠키나 토큰이 전달되지 않으면 아무리 나머지 로직이 완벽해도 작동하지 않는다. 그래서 가장 먼저 요청과 응답을 직접 확인해야 한다.

직접 요청 날려서 상태 확인하기

curl로 API를 호출해서 상태 코드와 응답을 확인한다.

curl -i 'https://example.com/api/items?page=1'

이 명령으로 HTTP 상태 코드, 응답 헤더, 응답 body를 한눈에 볼 수 있다. 401이나 403이 나오면 인증 문제고, 500이 나오면 서버 문제다. 상태 코드만 봐도 다음에 뭘 확인해야 할지 결정할 수 있다.

요청 파라미터가 정말 맞는지 확인

똑같아 보이지만 기본값이나 포맷이 약간 다를 수 있다. 특히 인증 정보는 정확해야 한다.

  • 토큰이나 세션 ID가 정말 필요한가
  • 쿠키 설정이 맞는가 (Secure, HttpOnly 등)
  • 요청 헤더에 필요한 정보가 모두 있는가

정상 상태를 먼저 정해두기

로그인 직후에는 정상이다가 시간이 지나면 인증이 풀리는 경우가 있다. 이런 경우를 구분하려면 정상 상태가 뭔지 미리 정의해둬야 한다.

  • 로그인 직후 응답
  • 5분 후 응답
  • 1시간 후 응답

각 단계에서 응답 코드와 응답 body를 기록해두면 어디서부터 문제가 생기는지 명확해진다.

작은 변경 후 매번 확인하기

쿠키 설정, 토큰 갱신 로직, 요청 헤더 등 여러 곳이 연관되어 있다. 한 가지만 수정하고 바로 확인한다.

  1. 한 가지 항목 수정
  2. 재현 조건에서 실제로 재현되는지 확인
  3. curl로 응답 상태 직접 보기
  4. 결과가 예상대로 바뀌었는지 기록

작은 확인들이 쌓이면 원인 후보가 자연스럽게 줄어든다. 남겨진 기록이 있으면 나중에 같은 문제를 처리할 때 훨씬 빠르다.