Skip to content

앱 관리

OAuth 앱을 만들고 관리하는 모든 명령어.

새 앱 만들기

bash
logi apps create \
  --name "My Awesome App" \
  --redirect-uri https://app.example.com/auth/callback

출력 예:

✓ App created
  client_id:     logi_1ce2d868ff8c8f0e3e8f0abcfac8f4be
  client_secret: logi_secret_3f290948f9fa6a3cb24bbce... ← 1회만 표시
  environment:   test
  organization:  personal-8

⚠️  client_secret은 다시 볼 수 없습니다. 안전한 곳에 저장하세요.

옵션

옵션기본값설명
--name(필수)사용자에게 보일 앱 이름
--redirect-uri(필수)OAuth 콜백 URL. 여러 개면 옵션 반복
--scope[] (서버 기본값)공백으로 구분, 여러 개. 명시하지 않으면 서버측 기본 scope 적용
--webhook-url사용자 변화 알림 받을 URL

목록 보기

bash
logi apps list
ID  NAME              CLIENT_ID                               STATUS    ENV
3   Demo Test App     logi_1ce2d868...                        sandbox   test
4   Production Site   logi_a39bc01f...                        approved  live

JSON으로:

bash
logi apps list --json | jq '.[] | select(.environment == "live")'

상세 보기

bash
logi apps show 3
Demo Test App  (#3)
  client_id:      logi_1ce2d868ff8c8f0e3e8f0abcfac8f4be
  redirect_uris:  https://app.example.com/auth/callback
  scopes:         openid, profile
  status:         sandbox · test · free
  webhook_url:    —
  created:        2026-04-27 17:55

redirect URI 추가/제거

redirect URI 는 위치 인자 형태의 별도 명령으로 관리합니다 (atomic):

bash
logi apps add-redirect 3 https://staging.example.com/cb
logi apps remove-redirect 3 https://staging.example.com/cb

메타 수정 (name, webhook_url 등)은 준비 중

현재 CLI 는 메타 일괄 편집(apps edit) 명령을 제공하지 않습니다. 임시로는 Developer Console 또는 PATCH /api/v1/applications/:id API 를 사용하세요.

client_secret 회전

bash
logi apps rotate-secret 3

새 secret이 한 번만 출력됩니다. 기존 secret은 즉시 무효. 이전 secret으로 진행 중인 토큰 발급 요청은 모두 401.

자주 회전할수록 안전합니다. CI/CD에선 3개월에 한 번 자동 회전 권장.

⚠️ 기존 앱 재등록 시 client_secret 가 안 보일 때

이전에 등록된 앱(같은 name 으로 재실행 등)을 다시 만지면 생성 단계에서 client_secret빈 값 으로 나옵니다 — 평문 시크릿은 최초 1회 생성 시점에만 노출되며, 그 이후엔 logi DB 에 hash 만 남아 복원 불가.

증상:

client_id=logi_xxxxxxxxxxxxx
client_secret=               ← 비어있음

해결: rotate-secret 으로 새 시크릿 발급:

bash
logi apps rotate-secret <id>

또는 SSH/rails console 에서 직접:

ruby
app = OauthApplication.kept.find_by(name: "your_app")
new_secret = app.rotate_client_secret!
puts new_secret  # ← RP env 로 즉시 복사

이 함정은 자동화 스크립트가 "create-or-update" 로직으로 동작할 때 자주 발생합니다 (앱이 이미 있어서 create 가 no-op 인데 secret 출력은 빈 값). 자동화는 "신규 생성 → secret 출력 / 기존이면 → rotate 명시" 두 분기로 나누세요.

삭제

bash
logi apps delete 3

즉시 삭제됩니다

현재 CLI 는 확인 프롬프트 없이 즉시 DELETE 를 호출합니다. 발급된 모든 토큰이 무효화되니 신중히 실행하세요. 인터랙티브 confirm + 휴지통 복구(apps restore)는 준비 중.

다음

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