위치 변화를 활용해 로그인 심사에 정보 제공하기
로그인의 IP 기반 위치를 해당 사용자의 이전 저장 위치와 비교해 다시 살펴볼 가치가 있는 로그인을 표시하세요 — 이 엔드포인트의 이용 가능 여부와 요금제 시행 여부는 아직 확인되지 않았으므로, 프로덕션에 통합하기 전에 접근 권한을 문의하세요.
이용 가능 여부
POST /v1/risk/check는 키가 시크릿 키인지 확인하는, IP 조회와 동일한 시크릿 키 미들웨어를 공유합니다 — 별도의 위험 요금제 그룹을 독립적으로 시행하지 않으며, 시드로 등록된 위험 가격에는 활성화된 가격이 설정되어 있지 않습니다. 프로덕션에서 이 엔드포인트에 의존하기 전에 현재 이용 가능 여부와 조건을 저희에게 확인하세요.
신뢰할 수 있는 클라이언트 IP 추출
Watch-IP는 이 엔드포인트에서 요청으로부터 최종 사용자의 IP를 추출하지 않습니다 — 여러분이 ip로 직접 제공해야 합니다. 보안 결정을 위해 클라이언트 IP를 신뢰하는 다른 모든 곳에서와 같은 주의를 기울여, 백엔드에서 신뢰할 수 있는 자체 프록시/CDN 헤더 체인으로부터 확인하세요.
불투명한 사용자 ID
userId로 자체 내부 식별자를 전달하세요. Watch-IP는 (고객 계정, userId) 쌍마다 정확히 하나의 저장된 위치만 유지합니다 — 기준 위치가 의미를 유지하도록 사용자의 로그인 전반에 걸쳐 동일한 식별자를 재사용하세요.
첫 기준 위치, 그다음 사전 확인
사용자의 첫 호출은 항상 previousLocation이 null인 risk: "low"를 반환합니다 — 아직 비교할 대상이 없기 때문입니다. 이후 로그인에서는 자체 인증 결정에 앞선 조기 신호로 commit: false와 함께 호출하세요. 이 호출은 기준 위치를 이동시키지 않고 읽기만 합니다.
자체 검증 후 커밋하기
로그인이 정당하다고 확신한 뒤 — 비밀번호와 2단계 인증이 이미 검증된 뒤 — commit을 기본값(true)으로 두고 다시 호출해 이 관측값을 다음 로그인의 새 기준 위치로 만드세요.
동시성과 재시도
v1은 히스토리가 아니라 가장 최근의 단일 지점만 저장합니다 — 가까운 시간에 커밋된 두 호출은 같은 값을 덮어쓰며, 타임아웃 이후 재시도된 요청 자체가 커밋되어 기준 위치를 바꿀 수도 있습니다. 각 커밋이 독립적으로 기록된다고 가정하지 말고 이를 고려해 재시도 로직을 설계하세요.
정당한 네트워크 변화
출장, 호텔이나 공항 와이파이, 모바일 통신사의 IP 변경, 일반적인 VPN 사용 모두 medium 또는 high 분류를 유발할 수 있습니다 — v1에는 VPN/데이터센터를 고려한 억제 기능이 없습니다. 표시된 로그인은 손상의 증거가 아니라 자체 심사 프로세스의 하나의 입력값으로 취급하세요.
보장하지 않는 것
high 분류는 두 지점 사이의 단순한 속도 계산이며 계정 탈취를 확인해주지 않으며, low 분류가 다른 이유로 의심스러운 로그인을 해소하지도 않습니다. 보관 방식은 위의 저장 동작을 따릅니다: 저장된 지점은 다음 커밋된 확인이 덮어쓸 때까지 유지되며, 자동 만료나 현재 이용 가능한 삭제 엔드포인트는 없습니다 — 사용자에게 하는 데이터 보관 약속에 이를 반영하세요.