Done checklist
아래 다섯 항목이 모두 맞아야 로그인/로그아웃 구현이 끝난 것이다.
환경 변수와 Provider ID가 실제 호출과 일치한다.
signIn 후 원하는 callbackUrl로 돌아온다.
signIn
loading, authenticated, unauthenticated가 분리된다.
비로그인 사용자는 보호 콘텐츠를 볼 수 없다.
세션 삭제 후 버튼과 접근 권한이 즉시 바뀐다.
하나라도 실패하면 UI 문제가 아니라 인증 흐름 전체를 다시 추적한다.