# logi > 앱 기반 Identity Provider (logi by 1Pass). 10분 내 OAuth 2.0 / OIDC 연동. 비밀번호 없는 Passkey 로그인까지. ## Docs ### Overview - [index](https://docs.1pass.dev/index): - **5분이면 붙입니다** — Quickstart 따라가면 첫 로그인 성공까지 5분. - **사용자 정보 최소 보관** — 실명·주민번호 같은 민감 정보는 저장하지 않습니다. - **사용자가 직접 통제** — 접속 기록·연결 앱·기기 모두 사용자가 직접 관리. - **AI 친화** — 문서를 통째로 LLM에 던질 수 있는 [llms.txt](/llms.txt) 제공. ### Tutorials - [핵심 개념](https://docs.1pass.dev/guide/concepts): logi를 사용하기 전 5분만 투자해서 아래 개념을 이해하세요. 이후 모든 문서가 같은 용어를 씁니다. - [logi 개발자 가이드](https://docs.1pass.dev/guide): logi는 **최소 정보 보유형** Identity Provider입니다. 실명·주민번호는 저장하지 않고, 플래그(`identity_verified_level`)만 관리합니다. 인증 플로우는 OAuth 2.0 + PKCE 하나만 지원합니다 (벤더 락/하위호환 패턴 없음). - [Quickstart (5분)](https://docs.1pass.dev/guide/quickstart): curl만 사용해서 **가입 → OAuth 앱 등록 → Authorization Code + PKCE 플로우 → Access Token 발급 → 사용자 정보 조회** 전체 경로를 5분 안에 돌려봅니다. ### Reference - [Rate Limits](https://docs.1pass.dev/guide/rate-limits): logi는 2중 레이어로 rate limit을 적용합니다: - [Security Best Practices](https://docs.1pass.dev/guide/security): logi를 올바르게 쓰기 위한 핵심 7가지. - [Webhook HMAC 서명 검증](https://docs.1pass.dev/guide/webhook-verification): `X-Logi-Signature: sha256=` 는 `HMAC-SHA256(webhook_secret, request_body)` 입니다. - [Webhook 연동](https://docs.1pass.dev/guide/webhooks): logi는 제휴사에 4가지 이벤트를 통지합니다: - [OAuth 오류 코드](https://docs.1pass.dev/oauth/errors): 모든 오류 응답은 **RFC 6749 §5.2 포맷**을 따릅니다. - [OAuth 2.0 Authorization Code + PKCE](https://docs.1pass.dev/oauth/flow): logi는 OAuth 2.0 Authorization Code Grant에 PKCE(RFC 7636) **S256**을 강제합니다. Implicit Flow, Password Grant, Device Code Flow는 지원하지 않습니다. - [JWKS & JWT 검증](https://docs.1pass.dev/oauth/jwks): logi는 Access Token으로 **RS256 JWT**를 발급합니다. 제휴사는 **stateless**로 서명을 검증하거나, revocation을 확인하려면 `/oauth/userinfo` 를 호출합니다. - [PKCE (RFC 7636) 상세](https://docs.1pass.dev/oauth/pkce): logi는 **S256만** 수락합니다. `plain`은 거부됩니다 (boundary-safe 아님). - [Scope 레퍼런스](https://docs.1pass.dev/oauth/scopes): Scope는 **공백 구분** 문자열입니다 (`profile email phone`, 콤마 ❌). - [API 레퍼런스](https://docs.1pass.dev/reference/api):