using Application.Abstractions.Messaging; using SharedKernel.Results; namespace Application.Features.Api.Auth.SocialDisconnect; /// /// 소셜 "연결 끊기(disconnect/unlink)" webhook 처리 (카카오/네이버). /// provider 콘솔에서 사용자가 연결 해제 시 우리 서버로 호출 → 해당 provider 연동행(MemberOAuthToken) 삭제. /// 카카오는 3초 내 2xx 를 요구하므로 항상 성공(멱등)으로 처리한다 — 매칭 실패해도 성공. /// AdminKeyHeader 는 카카오 Authorization 헤더(예 "KakaoAK {ADMIN_KEY}"). 검증 실패 시 IsAuthorized=false. /// public sealed record Command( string Provider, string? ProviderUserKey, string? AdminKeyHeader ) : ICommand>;