인증 시스템 작성의 무게
인증은 보안 핵심. 잘못 작성하면 시스템 전체에 영향. 단계별 점검표로 정리.
STEP 1: 인증 방식 결정
- Basic Authentication
- Bearer Token
- JWT
- OAuth
STEP 2: Basic Auth 작성 (해당 시)
username:password를 Base64 인코딩. Authorization: Basic XXXXX 형태로 헤더 추가. Base64 인코더로 즉시.
STEP 3: JWT 토큰 작성 (해당 시)
- 헤더 JSON 작성
- 페이로드 JSON 작성
- 각각 Base64URL 인코딩
- 시그니처 추가
STEP 4: 토큰 검증 흐름
- 받은 토큰 분리
- 각 부분 디코딩
- 만료 시간 확인
- 시그니처 검증
STEP 5: HTTPS 사용
Basic Auth는 Base64일 뿐 암호화가 아니므로 HTTPS 필수. 평문 HTTP 사용 금지.
STEP 6: 토큰 보안 점검
- 민감 정보 페이로드 금지
- 만료 시간 짧게
- 리프레시 토큰 별도
- 토큰 저장 위치 신중
STEP 7: 디버깅 흐름
인증 오류 시 도구로 토큰 디코딩해 내용 확인. Base64 디코더로 즉시 분석.
점검 체크리스트
- 인증 방식 결정
- Base64 인코딩 정확
- 토큰 검증 로직
- HTTPS 사용
- 보안 점검
- 디버깅 흐름
주의 사항
- Base64는 암호화 아님
- 민감 정보 보호 별도
- 토큰 유출 시 즉시 무효화
마무리
인증 시스템은 보안 핵심. 점검 흐름 한 번 자리 잡으면 매 작업이 안전하다.