Files
tdc114plus/docs/daily-issues/2026-07-14_work_handoff.md

7.0 KiB

2026-07-14 업무 인계 메모

작성 시각: 2026-07-14 16:54 KST

오늘 최종 상태

  • 실기기 로그인 흐름은 Baron SSO 공식 정책에 맞춰 동작 확인했다.
  • 사용자는 앱에서 전화번호 입력 후 문자 링크를 받는다.
  • 문자 링크를 누르면 Chrome에서 Baron SSO 승인 완료 화면에 머문다.
  • 사용자가 직접 TDC114PLUS 앱으로 돌아오면 앱이 저장된 pendingRef로 poll을 재개하고 직원검색 메인 화면에 진입한다.
  • Baron SSO 정책상 문자 링크 클릭 후 Chrome이 자동으로 앱으로 돌아오는 기능은 현재 지원되지 않는다.
  • 직원검색 화면의 직원/조직 정보 호출은 tdc114plus-auth 5001 서버의 /api/v1/integrations/org-context를 사용한다.
  • 실기기에서 직원목록 표시 확인 완료:
    • IS3 중복 뱃지 제거 확인
    • 전화번호 010-0000-0000 형식 표시 확인
    • 직원목록 표시 확인

오늘 발생한 주요 이슈

1. 로그인 승인 후 앱 복귀 UX

현상:

  • 문자 링크 클릭 후 Chrome의 로그인 승인 완료 화면에 머물렀다.
  • 사용자가 로그인 창으로 이동하기 버튼을 누르면 Baron SSO 로그인창/대시보드 흐름으로 이동해 앱 메인 진입 흐름과 맞지 않았다.

확인된 정책:

  • Baron SSO 개발자 답변 기준, /api/v1/auth/headless/link/init에는 post-verify redirect 필드가 없다.
  • SMS 링크를 누른 브라우저는 verify-only approver로 동작한다.
  • 승인 완료 후 브라우저가 앱 callback/App Link로 자동 이동하는 정책은 없다.

현재 대응:

  • 앱 문구를 “문자 승인 후 앱으로 돌아오면 자동 로그인됩니다” 흐름으로 맞췄다.
  • 앱 복귀 시 저장된 pendingRef로 poll을 재개하도록 처리했다.

내일 확인할 것:

  • 사용자가 앱 복귀 시 즉시 메인으로 들어가는지 반복 테스트한다.
  • 자동 앱 복귀가 꼭 필요하면 Baron SSO 쪽 정책/기능 추가 요청 사안으로 분리한다.

2. auth_provider_unavailable

현상:

  • 로그인 화면에서 승인 상태 확인 실패: auth_provider_unavailable 발생.

원인:

  • 5001 tdc114plus-auth 서버가 Baron SSO link/poll 완료 후 OIDC redirect/consent/token exchange를 처리하는 구간에서 실패할 수 있었다.
  • 이후 서버를 최신 소스 기준으로 재기동하고 로그를 직접 확인했다.

확인 로그:

  • link/init 성공
  • link/poll pending 반복
  • link/poll status=ok
  • /consent redirect 감지
  • consent accept 성공
  • callback URL에 code 포함
  • token exchange 성공

결론:

  • 최신 tdc114plus-auth 소스와 올바른 환경값으로 실행하면 login -> poll -> consent -> token exchange는 정상 동작한다.

3. 직원검색 화면 로딩 지속

현상:

  • 직원검색 화면에 진입했지만 중앙 로딩만 표시되고 직원목록이 나오지 않았다.

확인:

  • 5001 서버 로그에 GET /api/v1/integrations/org-context가 여러 번 찍혔다.
  • 즉 앱이 직원/조직 API를 호출하지 않은 것이 아니라, 호출은 하고 있었다.

원인:

  • 5001 auth 서버를 수동 재기동하면서 조직도 연동 키 환경값을 빠뜨렸다.
  • 누락된 값:
    • BARON_ORG_CONTEXT_KEY_ID
    • BARON_ORG_CONTEXT_KEY_SECRET

조치:

  • scripts/.env.android-device.local에 있는 값을 기준으로 5001 서버를 기동하도록 자동화했다.
  • 새 스크립트 추가:
    • scripts/start-auth-server.sh
  • scripts/startup.sh에서 업무시작 시 start-auth-server.sh --restart를 자동 호출하도록 연결했다.
  • scripts/shutdown.sh에서 5001 auth 서버도 종료하도록 연결했다.
  • scripts/.env.android-device.local, staging env 파일 권한을 600으로 조정했다.

검증:

./scripts/start-auth-server.sh --restart
curl -fsSL --max-time 5 http://127.0.0.1:5001/health

응답:

{"jwks":"ok","provider":"baron","status":"ok"}

실기기 화면:

  • 직원검색 화면에서 직원목록 정상 표시 확인.

내일 업무 시작 순서

  1. Windows 관리자 PowerShell에서 ADB portproxy/방화벽 상태 확인이 필요하면 기존 절차대로 확인한다.
  2. Windows 일반 PowerShell에서 실기기 ADB 연결 확인:
cd $env:LOCALAPPDATA\Android\Sdk\platform-tools
.\adb.exe devices
  1. WSL에서 업무시작 기동:
ADB_SERVER_SOCKET=tcp:172.21.128.1:5037 ./scripts/startup.sh --auto --wait=40
  1. 5001 auth 서버 확인:
curl -fsSL --max-time 5 http://127.0.0.1:5001/health

정상 기준:

{"jwks":"ok","provider":"baron","status":"ok"}
  1. 실기기 reverse 확인:
ADB_SERVER_SOCKET=tcp:172.21.128.1:5037 ./scripts/flutter-docker.sh adb -s R5CT42QTCNX reverse --list

필수:

tcp:5000 tcp:5000
tcp:5001 tcp:5001
  1. 앱 실행 후 확인:
    • 로그인 세션이 남아 있으면 직원검색 화면 진입
    • 직원목록이 바로 표시되는지 확인
    • 로딩이 지속되면 5001 로그 확인
tail -n 120 logs/$(date +%F)/tdc114plus-auth.log

내일 우선 점검할 항목

  • startup.shstart-auth-server.sh --restart를 정상 호출하는지 확인한다.
  • 직원검색 화면 진입 시 GET /api/v1/integrations/org-context가 5001 로그에 찍히는지 확인한다.
  • 직원목록 로딩이 다시 멈추면 가장 먼저 아래를 확인한다:
    • 5001 health
    • scripts/.env.android-device.local 존재 여부
    • TDC114_BARON_KEY_ID, TDC114_BARON_KEY_SECRET 값 누락 여부
    • adb reverse tcp:5001 tcp:5001

오늘 변경된 주요 파일

  • scripts/start-auth-server.sh

    • 5001 tdc114plus-auth 로컬 서버 기동 스크립트.
    • scripts/.env.android-device.local에서 조직도 키를 읽어 BARON_ORG_CONTEXT_*로 주입한다.
  • scripts/startup.sh

    • 업무시작 기동 시 tdc114plus-auth 5001 서버를 자동 기동하도록 연결.
  • scripts/shutdown.sh

    • 업무종료 시 5001 auth 서버도 종료하도록 연결.
  • app/lib/src/features/auth/presentation/login_screen.dart

    • 문자 승인 후 앱 복귀 안내 문구 반영.
    • pendingRef 복원/poll 오류 표시 개선.
  • docs/00_policy_tdc114plus_screen_feature_2026-07-07.md

    • Baron SSO 공식 verify-only 정책과 앱 복귀 방식 반영.

주의 사항

  • scripts/.env.android-device.local에는 실제 연동 키가 들어 있으므로 외부 공유 금지.
  • 내일 APK를 다시 빌드할 때는 반드시 auth base define을 포함한다.
./scripts/flutter-docker.sh build apk --debug \
  --dart-define=TDC114_API_BASE=http://127.0.0.1:5000 \
  --dart-define=TDC114_AUTH_API_BASE=http://127.0.0.1:5001 \
  --dart-define=TDC114_DIRECTORY_API_BASE=http://127.0.0.1:5000 \
  --dart-define=TDC114_ORGANIZATION_API_BASE=http://127.0.0.1:5000 \
  --dart-define=TDC114_ORG_CONTEXT_API_BASE=http://127.0.0.1:5001
  • 직원검색의 실제 직원/조직 조회는 현재 5001 auth broker를 통해 /api/v1/integrations/org-context로 간다.
  • 5000의 예전 /api/v1/tdc114plus/employees 류 경로는 현재 직원검색의 주 경로가 아니다.