Skip to content

통합 방법 비교

logi 는 RP(Relying Party) 가 자체 서비스에 SSO 를 붙이는 방법을 4가지 제공합니다. 각 방법은 동일한 logi 사용자 계정 / scope / 토큰 시스템을 공유하며, 단지 사용자가 QR 을 스캔하기까지의 진입 경로 만 다릅니다.

한눈에 비교

방법RP 구현 비용사용자 경험적합 시나리오보안 모델
1. 표준 OAuth Code0 (redirect URL만)logi 페이지로 이동 → 로그인 → 자동 복귀일반 웹 RP, 첫 통합confidential 또는 PKCE public
2. Device Flow (RFC 8628)중 (start + 폴링 구현)RP 페이지에 QR 표시 + 자동 새로고침페이지 유지 필수 (네이버 패턴), CLI / TV / IoT, 인앱 브라우저confidential 또는 public (RFC 8628 §3.4)
3. Widget SDK저 (script + div)RP 페이지 안에 iframe 위젯빠른 통합, 프레임워크 무관, 디자인 통제 약함confidential 또는 public + PKCE, widget_origins allowlist
4. 모바일 SDK (향후)중 (네이티브 SDK)자체 UI 로 native 호출iOS / Android 네이티브 RP 앱TBD

의사결정 트리

mermaid
flowchart TD
  Start([RP 가 logi 통합]) --> Mobile{네이티브<br>모바일 앱?}
  Mobile -- Yes --> MobileSDK[향후 모바일 SDK 대기<br>또는 WebView + 표준 Code Flow]
  Mobile -- No --> StayOnPage{사용자가 RP 페이지를<br>떠나도 되나?}

  StayOnPage -- Yes (redirect 허용) --> StandardCode[1. 표준 OAuth Code<br>가장 단순]
  StayOnPage -- No (페이지 유지 필요) --> Speed{빠른 통합 vs<br>UI 통제?}

  Speed -- 빠른 통합 우선 --> Widget[3. Widget SDK<br>script + div]
  Speed -- UI 직접 통제 --> Device[2. Device Flow<br>RFC 8628]

  StandardCode --> Done([구현 완료])
  Widget --> Done
  Device --> Done
  MobileSDK --> Done

시나리오별 권장

"일반 웹 서비스에 SSO 붙이고 싶어요"

표준 OAuth Code Flow. 가장 단순합니다. RP 는 redirect_uri 등록만 하면 됩니다. 데스크톱은 /oauth/authorize 페이지 우측에 QR 이 자동 노출되고, 모바일은 Universal Link 로 logi 앱이 자동으로 떠오릅니다.

"결제 직전에 SSO 가 필요한데 사용자가 페이지를 떠나면 안 됩니다"

Device Flow. RP 결제 페이지에 모달로 QR 을 띄우고 폴링. 사용자가 logi 앱에서 승인하면 RP 백엔드가 토큰을 수령하고, 모달이 자동 닫히면서 결제가 그대로 진행됩니다. 네이버의 'PC ↔ 모바일 인증' 패턴.

"프론트엔드 한 줄로 빨리 끝내고 싶어요"

Widget SDK. <script src="https://embed.1pass.dev/widget.js"> + <div data-logi-qr ...>. 5분 안에 마운트됩니다. RP 백엔드는 받은 code/oauth/token 으로 교환만 하면 됩니다.

"카카오톡 인앱 브라우저에서도 동작해야 합니다"

Device Flow. 인앱 브라우저는 Universal Link 가 안 떠서 표준 OAuth redirect 가 깨집니다. Device Flow 는 redirect 가 필요 없으므로 인앱에서도 정상 동작합니다.

"Smart TV / Apple TV / 셋톱박스 / CLI 도구"

Device Flow. 사실 RFC 8628 이 정확히 이 시나리오를 위해 설계됐습니다. logi CLI (logi login) 도 동일한 device flow 를 사용합니다 (CLI 문서 참고).

"iOS 또는 Android 네이티브 앱"

→ 향후 모바일 SDK 대기. 임시로는 표준 Code Flow + WebView 또는 ASWebAuthenticationSession (iOS) / Custom Tabs (Android) 사용. Universal Links 통합 가이드 참고.

같이 써도 되나요?

Yes. 같은 RP 가 데스크톱은 표준 Code Flow, 인앱 브라우저 fallback 은 Device Flow, 임베디드 결제 모달은 Widget SDK 를 동시에 쓸 수 있습니다. logi 측은 동일한 OAuth Application (client_id) 안에서 모두 처리합니다 — 콘솔에서 application 등록 시 redirect_uriswidget_origins 를 모두 채워두기만 하면 됩니다.

발급되는 토큰의 페이로드 / 권한은 어느 경로로 들어왔든 동일합니다 — id_tokenamr 클레임으로 인증 경로를 구분할 수 있습니다 (향후 명세).

다음 단계

MIT License · Identity가 제품의 신뢰를 만듭니다.