한국어 · English
토스 로그인을 BaaS 플랫폼(Supabase, Firebase, Auth0, Keycloak 등)으로 연결해주는 커뮤니티 OIDC 어댑터.
미니앱 개발자가 Bridge에 앱을 등록하면 client_id와 iss = https://oidc-bridge.aitc.dev OIDC 발급자 URL을 받습니다. 미니앱은 appLogin()을 호출해 토스 authorizationCode를 받고, consumer 백엔드(예: Supabase Edge Function)가 이를 Bridge POST /oidc/token으로 중계해 OIDC id_token으로 교환한 뒤 signInWithIdToken으로 Supabase에 로그인합니다. "zero-code"는 Bridge 운영자 관점의 표현입니다 — Bridge가 모든 OIDC 로직을 처리하므로 운영자가 커스텀 코드를 작성하지 않는다는 의미이며, 미니앱 개발자는 authorizationCode를 중계·교환하는 얇은 consumer 백엔드가 여전히 필요합니다(클라이언트에서 /oidc/token을 직접 호출하지 않습니다). 자세한 consumer-backend 패턴·운영자 mTLS 제약은 oidc-bridge 통합 가이드를 참고하세요.
서버 권한이 필요한 Edge Function / Cloud Function 운영자는 동일한 /oidc/token 엔드포인트에서 client_secret 인증(confidential-client 모드)을 사용할 수 있습니다.
2026년 5월 기준 zero-code 모드의 self-host 코드 베이스(Phase 0–8 및 09c)가 main에 머지되어 이 repo의 phase plan은 09c에서 정지했습니다. 이후 cloud-side 작업은 별도 private repo oidc-bridge-cloud에서 진행됩니다. 참조:
- 설계 스펙 — 전체 아키텍처, 컴포넌트, 보안 모델.
- 구현 인덱스 — 단계별 계획.
MIGRATION.md— M0 이후 브레이킹 체인지.
| Phase | 내용 | PR |
|---|---|---|
| 0 | Pino 로깅 Hono 앱, /healthz, 빌드/린트/테스트 파이프라인. 레거시 /verify 제거. |
#19 |
| 1 | 7-테이블 스키마(pg + sqlite), MasterKeyProvider, HKDF, 6h 키 캐시. |
#19 |
| 2 | Admin REST + CLI(workspaces, apps, api_tokens), bcrypt secrets, mTLS 컬럼 암호화, ownership state machine, audit log. | #20, #21 |
| 3 | POST /oidc/token(public client) + JWKS + discovery, mocked Toss. |
✅ main |
| 4–09c | userinfo + revoke, real Toss mTLS, admin sessions, CLI bootstrap, observability, runtime abstraction(Workers-ready). | ✅ main |
| 10c+ | tenant template, DNS cutover, MtlsClient binding, /oidc/token GA. |
oidc-bridge-cloud |
oidc-bridge.aitc.dev 공용 인스턴스는 rate-limited이며 SLA 없는 best-effort입니다. 보안이 민감한 워크로드는 self-host를 권장합니다. docs/SELF_HOSTING.md에서 bootstrap + doctor 기반 셋업 가이드를 확인하세요.
BSD-3-Clause. LICENSE 참조.
커뮤니티 오픈소스 프로젝트입니다.