7.0 KiB
7.0 KiB
2026-07-14 업무 인계 메모
작성 시각: 2026-07-14 16:54 KST
오늘 최종 상태
- 실기기 로그인 흐름은 Baron SSO 공식 정책에 맞춰 동작 확인했다.
- 사용자는 앱에서 전화번호 입력 후 문자 링크를 받는다.
- 문자 링크를 누르면 Chrome에서 Baron SSO 승인 완료 화면에 머문다.
- 사용자가 직접 TDC114PLUS 앱으로 돌아오면 앱이 저장된 pendingRef로 poll을 재개하고 직원검색 메인 화면에 진입한다.
- Baron SSO 정책상 문자 링크 클릭 후 Chrome이 자동으로 앱으로 돌아오는 기능은 현재 지원되지 않는다.
- 직원검색 화면의 직원/조직 정보 호출은
tdc114plus-auth5001 서버의/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 SSOlink/poll완료 후 OIDC redirect/consent/token exchange를 처리하는 구간에서 실패할 수 있었다. - 이후 서버를 최신 소스 기준으로 재기동하고 로그를 직접 확인했다.
확인 로그:
link/init성공link/pollpending 반복link/poll status=ok/consentredirect 감지- 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_IDBARON_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"}
실기기 화면:
- 직원검색 화면에서 직원목록 정상 표시 확인.
내일 업무 시작 순서
- Windows 관리자 PowerShell에서 ADB portproxy/방화벽 상태 확인이 필요하면 기존 절차대로 확인한다.
- Windows 일반 PowerShell에서 실기기 ADB 연결 확인:
cd $env:LOCALAPPDATA\Android\Sdk\platform-tools
.\adb.exe devices
- WSL에서 업무시작 기동:
ADB_SERVER_SOCKET=tcp:172.21.128.1:5037 ./scripts/startup.sh --auto --wait=40
- 5001 auth 서버 확인:
curl -fsSL --max-time 5 http://127.0.0.1:5001/health
정상 기준:
{"jwks":"ok","provider":"baron","status":"ok"}
- 실기기 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
- 앱 실행 후 확인:
- 로그인 세션이 남아 있으면 직원검색 화면 진입
- 직원목록이 바로 표시되는지 확인
- 로딩이 지속되면 5001 로그 확인
tail -n 120 logs/$(date +%F)/tdc114plus-auth.log
내일 우선 점검할 항목
startup.sh가start-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_*로 주입한다.
- 5001
-
scripts/startup.sh- 업무시작 기동 시
tdc114plus-auth5001 서버를 자동 기동하도록 연결.
- 업무시작 기동 시
-
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류 경로는 현재 직원검색의 주 경로가 아니다.