본문으로 이동

앱 등록·관리

설정하러 가기

개발자센터에서 앱을 등록하고 리디렉션 URL, 권한, 시크릿을 관리하는 방법입니다.

목차

대시보드 → 개발자센터(API)에서 앱을 등록하고 리디렉션 URL, 권한, 시크릿을 관리합니다. 치지직 계정으로 로그인하면 누구나 앱을 등록할 수 있으며, 이 화면은 본인 계정으로만 열려 매니저 대행 화면에는 나오지 않습니다.

새 앱 등록

  1. 내 애플리케이션 카드에서 + 새 앱을 누릅니다.
  2. 새 앱 등록 창에 아래 항목을 채웁니다.
  3. 등록을 누르면 client_id 와 client_secret 이 발급됩니다.
항목 규칙
앱 이름 필수, 1~100자. 스트리머 동의 화면에 그대로 나옵니다.
설명 (선택) 500자까지. 동의 화면에 함께 나옵니다.
로그인 리디렉션 URL 한 줄에 하나씩 1~5개. http:// 또는 https:// 로 시작하고 호스트가 있어야 합니다. 앞뒤 공백은 지우고 같은 주소는 하나로 합칩니다.
API Scopes 이 앱이 쓸 권한을 1개 이상 고릅니다. 고르지 않은 권한은 인가 요청에 넣어도 거부됩니다.

리디렉션 URL 은 스트리머가 동의를 마치고 돌아올 앱 주소입니다. 인가 요청의 redirect_uri 는 등록한 주소 중 하나와 글자 그대로 같아야 합니다. 권한별 뜻은 Scope 목록에 있습니다.

등록되지 않으면 창 아래에 이유가 나옵니다.

안내 문구 원인
앱 이름을 입력하세요. 앱 이름이 비었습니다.
로그인 리디렉션 URL 을 하나 이상 입력하세요. 리디렉션 URL 이 비었습니다.
사용할 권한(scope)을 하나 이상 선택하세요. 권한을 하나도 고르지 않았습니다.
redirect_uri 형식이 올바르지 않습니다: … http·https 가 아니거나 호스트가 없는 주소입니다.
redirect_uri 는 최대 5개까지 등록할 수 있습니다. 같은 주소를 합친 뒤에도 5개가 넘습니다.
redirect_uri 는 500자까지 등록할 수 있습니다. 한 주소가 500자를 넘습니다.

등록하면 목록 위에 client_secret 은 지금만 표시됩니다 — 안전한 곳에 보관하세요. 상자가 나옵니다. 시크릿 복사로 복사해 앱 서버에 보관한 뒤 닫기를 누릅니다. 서버 설정에 따라 상세 화면에서 다시 볼 수도 있지만 볼 수 없는 경우도 있으니 이때 보관하세요. client_id 는 jamku_ 로 시작하며 인가 주소에 들어가는 공개 값이고, client_secret 은 앱 서버에만 둡니다.

앱을 등록하는 일과 내 채널에 앱 사용을 허용하는 일은 별개입니다. 내가 만든 앱이라도 내 채널 데이터를 다루려면 동의 화면에서 직접 허용해야 합니다.

앱 상세와 시크릿 관리

목록에서 앱을 누르면 상세 화면이 열립니다. 위쪽 애플리케이션 정보 / 사용 현황 탭으로 화면을 바꾸고, 오른쪽 위 앱 목록으로 돌아갑니다.

인증 정보

항목 할 수 있는 일
클라이언트 ID 복사
클라이언트 Secret 눈 아이콘으로 보기·숨기기, 복사(먼저 눈 아이콘으로 보여야 함), 재발급

시크릿을 보여 줄 수 없으면 칸 아래에 이유가 나옵니다.

안내 문구 뜻
시크릿 열람이 비활성화돼 있습니다. 서버에 DEV_APP_SECRET_KEY 를 설정해 주세요. 이 서버는 시크릿 다시 보기를 쓰지 않습니다. 등록할 때 보관한 값을 쓰고, 잃어버렸다면 재발급합니다.
이 앱은 저장된 시크릿을 읽을 수 없습니다. [시크릿 재발급] 후 다시 확인해 주세요. 다시 보기를 지원하기 전에 만든 앱이거나 서버의 암호화 키가 바뀌었습니다. 재발급하면 다음부터 다시 볼 수 있습니다.

재발급을 누르고 client_secret 을 재발급할까요? 기존 시크릿은 즉시 무효화됩니다. 에서 확인하면 새 시크릿이 바로 표시됩니다.

  • 이전 시크릿은 바로 쓸 수 없습니다. 옛 값으로 토큰을 교환·갱신하면 invalid_client 이니 앱 서버 설정을 새 값으로 바꾸세요.
  • 이미 발급된 액세스·리프레시 토큰은 해제되지 않고 그대로 쓸 수 있습니다.
  • 시크릿을 브라우저에 공개되는 자바스크립트나 공유 URL 에 넣지 마세요.

애플리케이션 정보

앱 이름, 설명, 로그인 리디렉션 URL, API Scopes 를 고친 뒤 아래 저장을 누릅니다. 카드 오른쪽 위에는 등록 날짜가 보입니다.

  • 리디렉션 URL 은 + URL 추가로 늘리고(최대 5개) 줄 끝의 휴지통 아이콘으로 지웁니다. 최소 1개는 남아야 합니다.
  • 바뀐 내용이 있을 때만 저장과 되돌리기가 켜집니다. 되돌리기는 아직 저장하지 않은 편집을 마지막 저장 상태로 되돌립니다.
  • 저장하지 않고 페이지를 떠나면 브라우저가 한 번 확인합니다.
  • 지운 리디렉션 URL 로 오는 인가 요청은 오류 화면에서 멈춥니다.

권한을 선언하지 않은 옛 앱은 목록에 권한 미선언 — 전체 허용 으로 보이고, API Scopes 위에 권한을 선언하지 않은 앱이라 모든 scope 요청이 통과합니다. 안내가 나옵니다. 실제로 쓰는 권한만 골라 저장하세요. 이때는 확인 창 없이 저장되지만, 고르지 않은 권한은 권한을 줄일 때처럼 기존 동의·토큰에서도 빠집니다.

사용 현황

사용 현황 탭은 지금 이 앱에 동의해 연결된 스트리머 수와 권한별 동의 수를 보여 줍니다. 연결을 해제한 채널은 세지 않으며, 오른쪽 위 새로고침으로 다시 불러옵니다.

  • 동의한 스트리머: 이 앱에 동의한 채널 수입니다.
  • 권한별 막대: 동의한 스트리머 가운데 그 권한을 허용한 비율입니다. 오른쪽 표시는 아래와 같습니다.
표시 뜻
사용중 N 동의한 스트리머 중 N명이 이 권한을 허용했습니다.
미사용 앱이 선언했지만 이 권한을 허용한 스트리머가 없습니다.
미선언 앱이 선언하지 않은 권한입니다.

API 호출

아래 API 호출 카드는 이 앱이 호출한 개발자 API 수를 보여 줍니다. 날짜는 한국 시간 기준이며 기록은 90일 동안 보관합니다.

  • 오늘 호출: 오늘 호출한 수와 앱의 호출 한도(앱 전체 분당 30회)입니다. 연결된 모든 채널의 호출을 합칩니다.
  • 권한별 막대: 오늘 호출을 그 API 가 요구한 권한별로 나눈 것입니다. 토큰 정보 (me) 는 /me 호출입니다.
  • 최근 30일: 날마다 호출한 수입니다. 막대에 마우스를 올리거나, 그래프를 키보드로 선택한 뒤 ←/→ 키로 날짜별 값을 봅니다.

토큰·권한 확인을 통과한 요청만 셉니다. 401·403 과 한도에 걸린 429, WebSocket 이벤트는 세지 않습니다.

권한을 줄이거나 앱 삭제하기

API Scopes 에서 권한을 빼고 저장하면 권한을 줄입니다: … 확인 창이 뜹니다. 확인하면 아래가 바로 적용됩니다.

  • 이미 동의한 스트리머의 동의와 발급된 토큰이 남은 권한으로 좁혀집니다.
  • 남는 권한이 없는 채널은 연결이 해제됩니다.
  • 아직 토큰으로 교환하지 않은 인가 코드는 모두 지워지므로 진행 중이던 인가는 다시 해야 합니다.

결과는 권한 축소(룰렛 조회) — 동의 2건 축소 · 토큰 1건 무효화 처럼 알림으로 보여 줍니다.

권한을 더할 때는 확인 창이 없고, 기존 동의·토큰에는 새 권한이 생기지 않습니다. 스트리머에게 새 권한을 담아 다시 동의를 받아야 합니다. 규칙은 권한 변경과 기존 토큰에 있습니다. 앱이 선언하지 않은 권한을 인가 요청에 넣으면 invalid_scope 로 거부됩니다.

앱 삭제를 누르고 '…' 앱을 삭제할까요? 동의한 스트리머의 토큰도 모두 무효화됩니다. 에서 확인하면:

  • 앱 등록과 함께 모든 스트리머의 동의, 인가 코드, 토큰이 지워집니다. 되돌릴 수 없습니다.
  • 다시 등록하면 새 client_id·client_secret 이 발급되고, 스트리머에게 처음부터 다시 동의를 받아야 합니다.

특정 채널의 연결만 끊는 일은 앱 삭제가 아니라 그 채널의 스트리머가 연결 해제로 합니다. 내 채널이라면 같은 화면의 내 채널에 연결된 앱에서 해제합니다.

연결된 앱 해제

같은 화면 아래의 내 채널에 연결된 앱 카드는 내가 동의해 내 채널에 접근 중인 외부 앱 목록입니다. 앱을 만들지 않는 스트리머도 이 카드에서 연결을 확인하고 해제할 수 있습니다. 자세한 내용은 연결된 앱 관리를 참고하세요.

시크릿 재발급과 연결 해제는 다른 작업입니다. 재발급은 앱 서버 설정을 바꾸는 일로 토큰은 그대로 두고, 해제는 그 채널의 토큰을 바로 무효로 만듭니다.

API를 호출하려면

앱을 등록했다면 빠른 시작을 따라 첫 호출까지 해 봅니다. 인가 코드 교환·갱신·Bearer 인증은 OAuth 인가 흐름, 권한은 권한 (Scope), 요청·응답 규칙과 오류는 공통 사항, 이벤트 구독은 WebSocket 이벤트에 있습니다.

인가가 실패하면 먼저 아래를 확인합니다.

  • 인가 주소 GET /developers/oauth/authorize 는 스트리머의 브라우저에서 열고, 토큰 주소 POST /developers/oauth/token 은 앱 서버에서 부릅니다. 두 주소를 바꿔 쓰면 인가가 진행되지 않습니다.
  • redirect_uri 는 등록한 값과 http·https, 호스트, 포트, 경로 끝의 / 까지 같아야 합니다.

이 가이드로 해결이 안 됐나요?

디스코드로 문의하기

명령어, 룰렛, OBS처럼 궁금한 걸 검색해 보세요.