1
0
forked from baron/baron-sso
chan d10f80d41d feat: 커스텀 필드 기반 로그인 ID 연동 기능 추가 (#440)
- Kratos Identity 스키마에 로그인 전용 `id` 속성 추가
- 테넌트 Config의 `loginIdField` 설정에 따라 User의 `login_id` 및 Kratos `traits.id` 동기화 로직 구현
- Admin UI 테넌트 스키마 설정 내 '로그인 ID로 사용' 체크박스 추가
- Admin UI 사용자 생성/수정/조회 화면에 로그인 ID 관리 필드 및 컬럼 반영
- Userfront 로그인 화면 접속 시 테넌트 설정에 따라 동적 로그인 ID 라벨 적용
- 관련 다국어(ko/en) 번역 추가 및 로그인 ID 설계 문서 업데이트
2026-03-25 15:27:44 +09:00
2026-03-23 15:36:00 +09:00
2026-01-28 20:07:52 +09:00
2026-03-24 16:40:28 +09:00
2026-03-23 15:36:00 +09:00
2026-02-02 11:05:25 +09:00
2026-02-13 15:15:21 +09:00
2026-03-23 15:36:00 +09:00

Baron SSO

Baron SSO is a white-labeled User Authentication Hub and Unified Launcher. It leverages Descope for secure, passwordless authentication (Enchanted Link / Magic Link) and provides a custom Flutter UI for a seamless user experience. A Go (Fiber) backend manages Audit Logs via ClickHouse.

🏗 Architecture

1. Frontend (Flutter Web)

  • Framework: Flutter 3.38.0+
  • Organization: kr.co.baroncs
  • Key Packages: descope, flutter_riverpod, go_router
  • Features:
    • Login UI with Tabs (Email / SMS)
    • Descope SDK Integration (Enchanted Link, Magic Link)

2. Backend (Go Fiber)

  • Language: Go 1.25+
  • Framework: Fiber v2.25+
  • Database:
    • ClickHouse: Audit Logs (High performance ingestion)
    • PostgreSQL: Metadata storage (Primary)
  • Features:
    • POST /api/v1/audit: Endpoint to ingest audit logs.

3. Infrastructure (Docker)

  • Services: postgres, clickhouse (defined in compose.infra.yaml)
  • App: userfront, backend (defined in docker-compose.yaml)

🚀 Getting Started

Prerequisites

  • Docker & Docker Compose
  • Flutter SDK (for local development, 3.38.0+)
  • Go (for local backend development)

Environment Setup

  1. Copy the sample environment file.

    cp .env.sample .env
    
  2. Set the IDP priority and Ory admin endpoints. The default is Ory first with Descope as fallback.

    IDP_PROVIDER=ory,descope
    KRATOS_ADMIN_URL=http://kratos:4434
    HYDRA_ADMIN_URL=http://hydra:4445
    

Running the Stack

1. Start Infrastructure (Databases)

Start the persistent data layer first.

docker compose -f compose.infra.yaml up -d

2. Start Applications

Start the userfront and backend services.

docker compose up

Local Development (Manual)

If you prefer running without Docker for code editing:

Backend:

cd backend
go mod tidy
go run cmd/server/main.go

userfront:

cd userfront
flutter pub get
flutter run -d chrome

📂 Project Structure

baron_sso/
├── backend/            # Go Fiber Application
│   ├── cmd/server/     # Entry point
│   ├── internal/       # Domain, Handlers, Repository
│   └── Dockerfile
├── userfront/         # Flutter Application
│   ├── lib/            # UI & Logic
│   └── pubspec.yaml
├── compose.infra.yaml  # DB Services (Postgres, ClickHouse)
├── docker-compose.yaml # App Services
├── .env.sample         # Env Config Template
└── README.md           # This file

📝 Status & Roadmap

  • Phase 1: Initial Setup & Architecture (Done)
  • Phase 2: Backend Audit API (Done)
  • Phase 3: Frontend Login UI & Descope Auth Logic (Done)
  • Phase 4: Connect Frontend to Audit API (Todo)
  • Phase 5: Dashboard & Unified Launcher (Todo)
Description
바론 소프트웨어 통합 로그인 서비스 코드 저장소. 사내 개발자라면 누구든 자유롭게 코드를 살펴보고 기여할 수 있습니다. https://sadmin.hmac.kr http://sdev.hmac.kr
Readme 193 MiB
Languages
TypeScript 35.3%
Go 32.1%
JavaScript 17.5%
Dart 10.8%
Shell 3.5%
Other 0.7%