Callback boundary

OAuth 콜백은 외부 프로필을 내부 로그인으로 바꾸는 경계다

콜백 라우트에서는 제공자 응답을 그대로 넘기지 않는다. Strategy가 외부 프로필을 정리하고, AuthService가 내부 사용자와 토큰을 만든 뒤, Controller가 클라이언트 전달만 맡는다.

단계 책임 실패 처리
Guard provider strategy 실행, code 교환, profile 확보 provider 오류나 동의 거부면 실패 리다이렉트
Strategy provider id, email, displayName을 내부 형식으로 정리 필수 식별자가 없으면 인증 실패
AuthService 기존 사용자 연결 또는 새 사용자 생성 중복 계정 정책에 따라 명확히 분기
Controller 서비스 토큰 발급 후 클라이언트로 전달 토큰을 URL에 오래 노출하지 않도록 처리

핵심: OAuth 성공은 provider 인증 성공이 아니라, 내부 사용자 연결과 서비스 토큰 발급까지 끝났다는 뜻이어야 한다.