Actions
이슈 #436
진행중
JL
HP
[Go backport] Admin Dev Console GoTrue UI — Phase 3
이슈 #436:
[Go backport] Admin Dev Console GoTrue UI — Phase 3
시작일:
2026/05/13
완료일:
2026/05/13 (약 6달 지연)
진척도:
0%
추정시간:
설명
배경¶
GoTrue 인증 전환 후속 작업. 현재 Admin Dev Console (:9090) 은 SAML/Basic Auth 로만 접근 가능하고, GoTrue 사용자 토큰을 테스트하려면 외부에서 curl/Postman 으로 /signup / /token?grant_type=password 을 직접 호출해 access_token 을 얻어 paste 해야 한다. 매번 번거로움.
Rust 측 #424 를 Go 원본으로 백포트해 Admin 화면에서 직접 GoTrue 사용자를 생성/로그인하고 JWT 를 자동 저장한다.
작업 범위¶
Admin server¶
-
internal/admin/server.go에 GoTrue proxy 엔드포인트 추가:-
POST /api/auth/gotrue/signup→ GoTrue/signup에 그대로 forward -
POST /api/auth/gotrue/login→ GoTrue/token?grant_type=password에 forward
-
- Audit 로그 (
access_logssource="admin"):- signup / login 의 성공·실패 모두 기록
- Fields: email, ip, user_id(성공 시), error message(실패 시)
- Client IP 우선순위:
CF-Connecting-IP>X-Real-IP>X-Forwarded-For첫 항목 >r.RemoteAddr
Admin UI (internal/admin/pages.go)¶
- Auth 섹션 에 카드 2개 추가:
- Sign Up (email/password input + Sign Up 버튼). autoconfirm=true 일 때 즉시 세션 반환 → access_token 자동 저장
- Log In (email/password input + Log In 버튼). 응답의 access_token 자동 저장
- 기존 "Paste JWT (manual)" 카드 동일하게 유지
Config¶
-
cfg.GoTrueURL(envGOTRUE_URL/GOTRUE_INTERNAL_URL, 기본http://localhost:9011) - Admin HTTP 클라이언트 (
net/http) 공유 instance
제외 (Phase 4+ 이슈 예정)¶
- FriendsService 테이블 user_id 전환
-
nodes.owner_wallet_address제거 -
virtual_node_*스키마 user_id 직접 전환
DoD¶
-
make build,make test통과 - Admin UI Auth 탭에서 Sign Up 클릭 시 즉시 JWT 자동 저장이 일어나도록 구현(autoconfirm=true 기준)
- Log In 클릭 시 JWT 자동 저장
-
signup/login 성공·실패 모두 audit 로그에 기록 (
access_logssource="admin", path="/api/auth/gotrue/{signup,login}") - Client IP 정확 주소로 기록 (CF/X-Real-IP/X-Forwarded-For 우선순위)
관련 이슈¶
Actions