Files
daily/2026/07/baron-sso.md
T
2026-07-07 16:38:49 +09:00

2.0 KiB

baron-sso 로그인 흐름

flowchart TD
  subgraph Backend[backend]
    B1[main.go 실행]
    B2[.env 로드]
    B3[Logger / DB / IDP 초기화]
    B4[/api/v1/auth 라우트 등록]
    B5[AuthHandler.PasswordLogin]
    B6[AuthHandler.PhoneLogin]
    B7[토큰 및 redirectTo 응답]
    B8[/api/v1/user/me]
    B1 --> B2 --> B3 --> B4
    B5 --> B7
    B6 --> B7
  end

  subgraph Userfront[userfront]
    U1[main.dart 실행]
    U2[GoRouter 설정]
    U3[/ko/signin 또는 /ko/connect]
    U4[LoginScreen 표시]
    U5[_handlePasswordLogin]
    U6[_handlePhoneOnlyLogin]
    U7[AuthProxyService 호출]
    U8[_onLoginSuccess]
    U9[AuthTokenStore.setToken]
    U10[redirectTo 이동 또는 dashboard 이동]
    U1 --> U2 --> U3 --> U4
    U5 --> U7 --> U8 --> U9 --> U10
    U6 --> U7
  end

  U4 --> U5
  U4 --> U6
  U7 --> B5
  U7 --> B6
  B7 --> U8
  U10 --> B8

흐름 요약

  1. backend/cmd/server/main.go가 먼저 실행되어 라우트를 엽니다.
  2. userfront/lib/main.dart가 실행되어 /ko/signin, /ko/connectLoginScreen으로 연결합니다.
  3. 사용자가 로그인하면 login_screen.dart_handlePasswordLogin() 또는 _handlePhoneOnlyLogin()이 실행됩니다.
  4. AuthProxyService가 백엔드 인증 API를 호출합니다.
  5. 백엔드가 성공 응답을 주면 AuthTokenStore에 토큰을 저장합니다.
  6. redirectTo가 있으면 그쪽으로 이동하고, 없으면 dashboard로 이동합니다.

참고 파일