Google·Kakao·Apple 로그인부터 Webhook·CDN·DNS·TLS까지
LocalBridge의 외부 provider를 adapter와 contract test로 격리하고 장애·중복·탈퇴를 설계한다.
상태: 출간 후보 웹교정쇄 · 자동 QA 통과 · provider 현장 감수 대기 · 48개 장

외부 API를 호출하는 코드는 짧다. 어려운 일은 우리 사용자에게 어떤 성공·실패 계약을 제공할지, 공급자의 timeout·중복·장애·정책 변경을 어떻게 흡수할지 결정하는 것이다. 실습 서비스 LocalBridge는 소셜 로그인, 클래스 결제, 지도, 알림, 이미지, webhook, CDN을 하나의 adapter 체계로 연결한다.
확인일은 2026-08-14다. 공급자 콘솔·scope·검수·가격·rate limit은 변하므로 발행 직전 공식 문서와 개발 앱에서 다시 확인한다. 예제에는 실제 secret이나 logo를 넣지 않는다.
목차
- 1장. 외부 인터페이스의 실패 계약
- 2장. Port와 Adapter
- 3장. HTTP Client 기본 계약
- 4장. 오류 분류와 Normalization
- 5장. Timeout·Retry·Backoff
- 6장. Idempotency와 Unknown Outcome
- 7장. Rate Limit과 Circuit Breaker
- 8장. OAuth와 OIDC
- 9장. Authorization Code+PKCE
- 10장. Google 로그인
- 11장. Kakao 로그인
- 12장. Apple 로그인
- 13장. 계정 연결과 복구
- 14장. Token 저장과 Rotation
- 15장. Webhook 서명
- 16장. Webhook Inbox
- 17장. 결제 Interface
- 18장. 지도·Geocoding
- 19장. 메일·SMS·Push
- 20장. File·Object Storage
- 21장. CDN Cache 계약
- 22장. CDN Purge와 Origin 보호
- 23장. DNS·Domain·TLS
- 24장. Contract Test
- 25장. Sandbox와 Production 차이
- 26장. 관측과 비용
- 27장. 공급자 장애 Runbook
- 28장. BridgeOps 실습
- 29장. 시니어 Capstone
- 30장. 인증 장애 종합 실습
- 31장. Webhook 장애 종합 실습
- 32장. 결제 Unknown Outcome 실습
- 33장. CDN 캐시 오염 실습
- 34장. 계약 변경·SDK Upgrade
- 35장. 권리·보안·출간 검수
- 36장. Provider Adapter를 내부 계약으로 감싼다
- 37장. OAuth Account Linking을 별도 위험으로 본다
- 38장. JWKS Rotation과 Cache Stampede를 막는다
- 39장. Webhook Inbox를 원장으로 만든다
- 40장. Payment Unknown Outcome을 대사한다
- 41장. Rate Limit을 전체 Deadline과 묶는다
- 42장. Circuit Breaker와 Fallback을 업무별로 정한다
- 43장. CDN Cache Key를 보안 계약으로 만든다
- 44장. DNS·TLS·mTLS 변경을 리허설한다
- 45장. Contract Change를 Consumer보다 먼저 알린다
- 46장. 최종 Interface Game Day
- 47장. Correlation과 Audit을 외부 Receipt까지 잇는다
- 48장. Release Day 외부 인터페이스 Checklist