2.0 KiB
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
흐름 요약
backend/cmd/server/main.go가 먼저 실행되어 라우트를 엽니다.userfront/lib/main.dart가 실행되어/ko/signin,/ko/connect를LoginScreen으로 연결합니다.- 사용자가 로그인하면
login_screen.dart의_handlePasswordLogin()또는_handlePhoneOnlyLogin()이 실행됩니다. AuthProxyService가 백엔드 인증 API를 호출합니다.- 백엔드가 성공 응답을 주면
AuthTokenStore에 토큰을 저장합니다. redirectTo가 있으면 그쪽으로 이동하고, 없으면dashboard로 이동합니다.