---
title: "📝 260602 — dallog.kr 라이브 + OAuth 3종(카카오 B안) + 그래프 라벨 fix"
notion_id: "37322962086881459195f851e84eb152"
notion_url: "https://app.notion.com/p/37322962086881459195f851e84eb152"
category: "workreport"
parent: "Claude Code 작업보고"
updated: "2026-06-02"
priority: "High"
purpose: "정식 도메인 dallog.kr 라이브 + OAuth 3종(구글·네이버 완료, 카카오 B안 자체처리 코드 완성) + 그래프 Y축 라벨 가독성 fix"
read_when: ["인증OAuth","배포·도메인","최신상태복구"]
---

> 2026-06-02 컨텍스트 작업보고. 상세 판단·설계의도는 📋 26-06-02_달록_핸드오프 참조. 본 보고는 PR·기능·시행착오·남은검증 중심.

## 주요 PR / 커밋

| PR | 커밋 | 내용 | 비고 |
|---|---|---|---|
| #29 | dbf0a00 | 그래프 Y축 라벨 소수점 제거+경계 숨김 | 도메인 불변 |
| #30 | 2f7f915 | auth-proxy [dallog.kr](http://dallog.kr) 허용 + 카카오 scopes 명시 | scopes는 **무효로 판명** |
| #31 | 1b7a3a6 | 카카오 B안 자체처리(/kakao/exchange) | 활성화 대기 |

## 적용 기능

- **정식 도메인 [dallog.kr](http://dallog.kr) 라이브** + www→apex 301 리다이렉트. CF Pages 커스텀 도메인·SSL 자동.
- **OAuth 3종 정리**: 구글 ✅ / 네이버 ✅(auth-proxy 배포·로그인 성공) / 카카오 자체처리 코드 완성(활성화 대기).
- **카카오 B안**: kauth 직접 호출(scope 미지정→account_email 미요청) + CF Workers `/kakao/exchange` + `KakaoCallbackPage`. 카카오ID 합성이메일 `kakao_<id>@kakao.dallog.kr`로 Supabase 사용자 생성/매칭.

## UX 개선

- **모바일 그래프 가독성**: Y축 눈금의 부동소수점 노출(22.799999999999997kg 등) 제거. `cleanTick` 헬퍼로 소수점 반올림 + 최상단/최하단 경계라벨 숨김. **도메인(스케일) 보존 → 선 모양 미훼손.** 대시보드 BODY + 기록 SUMMARY 두 화면 적용.

## DB / SQL / RLS

- 본 컨텍스트 **스키마 변경 없음**. 네이버·카카오 사용자는 auth-proxy가 Supabase Admin API로 auth.users에 생성(provider 메타데이터 user_metadata.provider_naver/provider_kakao).
- 제공한 **로그인수단별 조회 SQL**(메타데이터 기반, 보관불요) — Supabase Users의 provider가 네이버/카카오도 "Email"로 표시되는 한계 우회. 핸드오프 §4 참조.

## 모바일/데스크탑

- 그래프 라벨 fix는 모바일 지저분함(사용자 스크린샷) 해소가 주 목적. km 축은 이미 정수 틱이라 미적용(surgical).

## 브라우징 테스트 피드백

- **Playwright로 [dallog.kr/login](http://dallog.kr/login) 카카오 플로우 재현** → authorize URL의 scope=`account_email ...` 육안으로 "Supabase가 account_email 강제 부착, 클라 scopes는 추가만 됨" 확정. → 1차 수정(PR #30)이 무효임을 추측이 아닌 **증거로 확인**.

## 사용자 피드백 반영

- 도메인 상담 중 CC가 ".kr 신뢰 과장"·".app 선점 과대평가"를 **정정**하고 "마이그레이션 비용 비대칭성"으로 재프레임 → 사용자 .kr 결정.
- 그래프: "실제 경계 기준 훼손 금지, 보이는 글자만 날려" → 도메인 불변+라벨만 가공으로 정확히 반영.
- 카카오: 이메일 검수 부담 vs 속도 → 사용자 B(자체처리) 선택 반영.

## 시행착오 · 해결 (반복 방지)

1. **카카오 이메일 스코프 제거 1차 시도 무효** — Supabase 관리형 kakao provider는 account_email을 강제. 클라 scopes로 교체 불가. → 교훈: Supabase kakao는 비즈앱 검수 전엔 근본적으로 이메일 없는 로그인 불가 → 자체처리(B)로 우회.
2. **wrangler.toml 카카오 키 커밋 차단** — 평문 자격증명 금지 규칙 작동. → wrangler.toml 커밋 제외(로컬 키 보유), 코드만 머지. 교훈: 워커 config·키는 처음부터 하드코딩 말고 로컬/시크릿으로.
3. **커밋이 main 직커밋** — 브랜치 생성이 권한 차단에 묶여 안 돌아 main에 머문. → `git branch -f main HEAD~1`로 복구, 커밋을 feat 브랜치로 이전 후 PR. 교훈: 브랜치 생성+add를 한 명령으로 묶으면 하나 차단 시 전체 끊김 → 브랜치 생성은 분리.

## 남은 검증 항목

- 카카오 B **활성화 후 로그인 실테스트**(사장님: 카카오 Redirect URI + CF env VITE_KAKAO_* + wrangler deploy + CF 재배포). 실패 시 worker 에러코드로 디버그.
- 그래프 fix [dallog.kr](http://dallog.kr) 시각 최종 확인(배포됨).
- (외부 다수 공개 시) 네이버 검수 + 카카오 비즈앱 — 약관(3-1) 선행.

## 미착수(다음 컨텍스트)

약관 3종 작성(사전조사만 완료) / S-1 토큰 세션저장 / 문서 최신화 6-2.
