Skip to content

CLI 단계별 RP 등록 (한방 가이드)

Source: guide/cli-rp-registration.md · Live: https://docs.1pass.dev/guide/cli-rp-registration LLM-sanitized: internal links absolutized, VitePress containers → admonitions, line numbers in the Jump-to Index reference this rendered file (1-indexed).

📍 Jump-to Index

  • L34-L38: ## 사전 요건
  • L39-L71: ## 전체 플로우 (6단계)
  • L72-L158: ## 단계별 설명
    • L74-L81: ### 1 · 로그인
    • L82-L89: ### 2 · 개발자 등록
    • L90-L105: ### 3 · 이메일 검증
    • L106-L130: ### 4 · RP 등록
    • L131-L146: ### 5 · env 주입
    • L147-L158: ### 6 · 검증
  • L159-L184: ## 📋 복사용 프롬프트 (다른 개발자/AI 용)
  • L185-L203: ## ✅ 검증 체크리스트
  • L204-L213: ## 자주 막히는 곳
  • L214-L220: ## 다음
  • L221-L230: ## LLM 친화 버전

CLI 단계별 RP 등록 (한방 가이드)

logi CLI 만으로 개발자 등록 → 이메일 검증 → RP(OAuth 앱) 등록 → 3개 secret 확보 → 배포 env 주입 → 라이브 검증 까지 한 흐름으로 끝냅니다. 웹 콘솔로 넘어갈 필요가 없습니다.

💡 Tip: 이 페이지의 위치

  • 이미 로그인 통합 코드를 짠 상태 라면 이 페이지로 등록만 끝내면 됩니다.
  • 코드부터 짜야 한다Quickstart for Agents (RP 통합 런북) 의 트랙 분기를 먼저 따른 뒤 이 페이지로 등록하세요.
  • 등록 정책(위험 평가 · production 승급 · rate limit) 상세는 앱 등록 가이드 참고.

사전 요건

  • logi CLI 설치 (brew install dcode-co/logi/logi 또는 gem install logi-cli)
  • 본인 logi 계정 (없으면 1pass 앱 또는 SSO 로 가입)

전체 플로우 (6단계)

bash
# 1) 로그인 (브라우저 OAuth — 폰에서 1회 승인)
logi login

# 2) 개발자 권한으로 승격
logi developer register --email dev@example.com --org "My Company"

# 3) 이메일 검증 — SSO(Google/Apple) 가입이면 자동 검증됨(이 단계 skip).
#    이메일/비밀번호 가입자만 코드 입력:
logi developer status              # identity_verified_level 가 unverified 면 ↓ 실행
logi developer verify-email        # 이메일로 받은 6자리 코드 입력

# 4) RP 등록 (앱 생성) — client_secret + rp_health_secret 1회 노출
#    --redirect-uri 는 한 개. 추가 콜백(staging/prod/모바일 scheme)은 생성 후 add-redirect 로.
logi apps create \
  --name "My App" \
  --redirect-uri https://app.example.com/auth/logi/callback \
  --scope openid profile:basic email \
  --client-type confidential
# 추가 redirect 가 필요하면:
logi apps add-redirect <id> https://staging.example.com/auth/logi/callback

# 5) 출력된 env 블록을 배포 플랫폼에 주입
#    LOGI_API_URL / LOGI_CLIENT_ID / LOGI_CLIENT_SECRET / LOGI_RP_HEALTH_SECRET

# 6) 라이브 검증
logi apps verify <id>

각 단계 상세: 로그인 · 개발자 등록 · 앱 관리.

단계별 설명

1 · 로그인

bash
logi login

브라우저가 열리고 폰에서 1회 승인하면 끝. 서버/SSH 환경이면 logi login --code (device flow).

2 · 개발자 등록

bash
logi developer register --email dev@example.com --org "My Company"

roledeveloper 가 됩니다. 이미 developer 면 멱등.

3 · 이메일 검증

bash
logi developer status
  • identity_verified_level: email_verified 면 → 이미 검증됨, 4단계로.
  • identity_verified_level: unverified 면 → 코드 검증:
bash
logi developer verify-email     # 이메일로 받은 6자리 코드 입력 (10분 만료, 5회 제한)

ℹ️ Note: SSO 가입자는 자동 검증 Google / Apple 로그인 계정은 IdP 가 이메일을 검증했으므로 identity_verified_level 이 자동으로 email_verified 입니다. 이메일/비밀번호 가입자만 코드가 필요합니다.

4 · RP 등록

bash
logi apps create \
  --name "My App" \
  --redirect-uri https://app.example.com/auth/logi/callback \
  --scope openid profile:basic email \
  --client-type confidential
  • redirect_uri 는 byte 단위 정확 일치--redirect-uri 는 생성 시 한 개 만 받습니다. local / staging / prod / 모바일 scheme 등 여러 개가 필요하면 하나로 생성한 뒤 logi apps add-redirect <id> <uri> 로 나머지를 추가하세요 (redirect URI 규칙).
  • 모바일/SPA 등 시크릿을 못 숨기는 RP 는 --client-type public (public vs confidential). 등록 후 변경 불가.
  • BCL 을 쓸 거면 --backchannel-logout-uri (Back-Channel Logout), 모바일 RP 의 백엔드 헬스 호스트는 --health-url, 헬스 체크를 끌 거면 --no-health-check (RP Active Health Check).

출력에서 3개 값 을 확보합니다 (이 순간에만 평문 노출):

client_id:        logi_...        ← 공개 안전
client_secret:    logi_secret_... ← confidential 만, 1회
rp_health_secret: logi_rphs_...   ← 1회, 서버 env 전용

⚠️ Warning: 1회 노출 — 지금 복사 client_secretrp_health_secret 은 create 응답에서만 평문으로 나옵니다. GET(list/show)엔 없습니다. 놓치면 secret 회전이 필요합니다.

5 · env 주입

create 출력에 붙여넣을 env 블록이 함께 나옵니다:

bash
LOGI_API_URL=https://api.1pass.dev
LOGI_CLIENT_ID=logi_...
LOGI_CLIENT_SECRET=logi_secret_...
LOGI_RP_HEALTH_SECRET=logi_rphs_...

이 4개를 배포 플랫폼(Render / Vercel / Fly / Heroku / self-hosted)의 환경 변수에 넣습니다.

🚨 Danger: secret 은 서버 env 전용 LOGI_CLIENT_SECRETLOGI_RP_HEALTH_SECRET 은 클라이언트 코드(모바일 바이너리 / SPA 번들 / 공개 git)에 절대 넣지 마세요. Public client 면 애초에 client_secret 이 없습니다.

6 · 검증

bash
logi apps verify <id>

tier / status / rp_health_status / health_check_enabled 가 표시됩니다. localhost redirect 만 있으면 자동 승인(approved)되고, 프로덕션 도메인이 포함되면 pending 으로 admin 검토 가 필요합니다.

RP 헬스 엔드포인트가 정말 응답하는지 직접 확인은 자가 진단 curl 참고.


📋 복사용 프롬프트 (다른 개발자/AI 용)

다른 개발자나 AI 에이전트(Claude Code · Cursor · Codex)에게 그대로 붙여넣으면 logi CLI 로 개발자 등록 + RP 등록을 끝내는 자기완결 프롬프트입니다. <...> 부분만 본인 값으로 치환 하세요.

logi CLI 가 없으면 먼저 설치해줘: brew install dcode-co/logi/logi (또는 gem install logi-cli)

그다음 logi manual 을 실행해 매뉴얼을 컨텍스트에 로드하고, logi CLI 로 개발자 등록 + RP 등록을 끝까지 진행해줘. (manual 명령이 없는 구버전 CLI 면 대신 https://docs.1pass.dev/llms/guide/cli-rp-registration.md 를 읽어줘.)

  1. logi login 으로 로그인 (브라우저 OAuth — 내가 폰에서 1회 승인할게).
  2. logi developer register --email <dev@example.com> --org "<My Company>" 로 개발자 권한 승격.
  3. logi developer statusidentity_verified_level 확인 — unverifiedlogi developer verify-email 실행하고, 이메일로 온 6자리 코드를 나한테 물어봐서 입력해줘. (SSO 가입이면 이미 email_verified 라 이 단계는 skip.)
  4. logi apps create 로 RP 등록:
    • --name "<My App>"
    • --redirect-uri 에 콜백 URL 을 byte 단위로 정확히 한 개 넣어 생성한 뒤, 추가 콜백(local / staging / prod / 모바일 scheme)이 더 있으면 logi apps add-redirect <id> <uri> 로 하나씩 등록.
    • --scope openid profile:basic email (유효 scope 이름만 — profile 단독 ✗, profile:basic ✓).
    • 시크릿을 숨길 수 있는 백엔드가 있으면 --client-type confidential, 모바일/SPA 단독이면 --client-type public. (등록 후 변경 불가니 신중히.)
  5. create 응답의 client_id / client_secret / rp_health_secret 과 env 블록을 나한테 보여줘. secret 은 1회만 노출되니 절대 코드/git 에 커밋하지 말고, 내가 배포 플랫폼 env 에 넣게 안내만 해줘.
  6. logi apps verify <id> 로 등록 상태를 검증하고, 프로덕션 도메인이라 pending 이면 admin 승급이 필요하다고 알려줘.

redirect_uri 미스매치가 OAuth #1 사고이니 5번을 특히 꼼꼼히. 진행 중 막히면 https://docs.1pass.dev/llms.txt 의 인덱스에서 해당 토픽을 찾아 참고해줘.

ℹ️ Note: 프롬프트에 내부 인프라 값을 넣지 마세요 위 프롬프트는 공개 CLI 명령과 공개 docs URL 만 씁니다. 본인의 secret 값 · 배포 플랫폼 토큰 · 서버 접속 정보 등은 프롬프트에 넣지 말고, AI 가 명령을 만들면 secret 은 본인이 직접 env 보관처에 주입하세요.


✅ 검증 체크리스트

등록이 끝났다고 판단하기 전에 각 항목을 직접 확인하세요. 괄호 안은 확인 방법입니다.

  • [ ] CLI 설치됨logi version 이 버전을 출력
  • [ ] 로그인됨logi whoami 가 본인 계정/조직을 출력
  • [ ] developer 권한logi developer statusroledeveloper(또는 admin)
  • [ ] 이메일 검증됨logi developer statusidentity_verified_levelemail_verified 이상 (SSO 면 자동)
  • [ ] RP 생성됨logi apps list 에 새 앱의 client_id(logi_ 접두)가 보임
  • [ ] 3개 secret 확보 — create 응답에서 client_id / client_secret(confidential) / rp_health_secret 을 받아 보관처(1Password / Keychain / Vault)에 저장 (코드/git 아님)
  • [ ] env 주입됨 — 배포 플랫폼에 LOGI_API_URL / LOGI_CLIENT_ID / LOGI_CLIENT_SECRET / LOGI_RP_HEALTH_SECRET 4개가 설정됨 (플랫폼 env 목록에서 확인)
  • [ ] 검증 greenlogi apps verify <id>status / tier 를 정상 표시 (프로덕션 도메인이면 pending → admin 승급 필요)
  • [ ] (옵션) BCL 설정됨--backchannel-logout-uri 를 등록했다면 logi apps show <id> 에 반영됨 (BCL 가이드)
  • [ ] (옵션) health ping 도달 — 헬스 체크를 켰다면 자가 진단 curl/.well-known/logi-rp-health 가 200 응답

체크되지 않은 항목이 있으면 미완료 입니다 — 거짓 "완료" 보고 금지.


자주 막히는 곳

증상원인해결
403 identity_verification_required이메일 미검증logi developer verify-email (3단계)
403 forbidden: developer role requireddeveloper 미승격logi developer register (2단계)
client_secret 이 빈 값같은 이름 재실행 등으로 create 가 no-op / public clientsecret 회전 또는 신규 생성 분기
422 redirect_uri / health_url 거부정확 일치 위반 / private IP SSRFredirect URI 규칙, --health-url 은 공개 호스트만
RP 가 pending 에서 안 풀림프로덕션 도메인 RPproduction 승급 admin 검토

다음

LLM 친화 버전

bash
curl https://docs.1pass.dev/llms/guide/cli-rp-registration.md

CLI 가 설치돼 있으면 logi manual 이 같은 핵심 사실 + 커맨드 카탈로그를 오프라인으로 로드합니다 (--full 은 이 문서와 통합 런북까지 이어서 출력).

전체 번들: https://docs.1pass.dev/llms-full.txt

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