Multica Docs

인증과 토큰

Multica에는 세 종류의 토큰이 있습니다 — 브라우저, CLI, 데몬에 각각 하나씩. 어떤 상황에 무엇을 쓰는지 설명합니다.

Multica에는 세 종류의 토큰이 있으며, 각각 하나의 컨텍스트에 대응합니다: 브라우저 Web UI, 명령줄과 스크립트, 그리고 데몬입니다. 세 가지 모두 동일한 당신을 나타내지만, 범위와 수명이 다릅니다.

세 가지 토큰

토큰형식사용되는 곳수명
JWT 쿠키multica_auth 쿠키 (HttpOnly)웹 브라우저30일
개인 액세스 토큰 (PAT)mul_ 접두사CLI, 스크립트, 직접 API 호출기본적으로 만료 없음. API로 생성할 때 expires_in_days를 전달할 수 있습니다
데몬 토큰mdt_ 접두사데몬-서버 통신데몬 자체가 관리

일상적인 사용에서는 앞의 두 가지만 직접 다루게 됩니다. 데몬 토큰multica daemon login이 자동으로 생성하고 갱신하므로, 신경 쓸 필요가 없습니다.

각 토큰이 접근할 수 있는 것

API 라우트JWT 쿠키PAT데몬 토큰
/api/user/* (사용자 수준 작업)
/api/workspaces/:id/* (워크스페이스 수준)
/api/daemon/* (데몬 전용)
WebSocket /ws (실시간 푸시)✓ (쿠키)✓ (첫 메시지로 인증)

PAT는 거의 모든 것에 접근할 수 있습니다 — 이는 "완전한 당신"을 나타냅니다. 데몬 토큰은 데몬에 필요한 일, 즉 작업을 가져오고 결과를 보고하는 것만 할 수 있습니다.

둘 다 /api/daemon/*에 접근할 수 있지만, 범위가 다릅니다. PAT는 사용자 전체를 나타내며 — 일단 인증되면 당신이 속한 모든 워크스페이스를 볼 수 있습니다. 데몬 토큰은 생성 시점에 단일 워크스페이스에 고정되며 해당 워크스페이스의 리소스에만 접근할 수 있습니다. 프로덕션에서는 데몬을 데몬 토큰으로 실행하세요. 편의를 위해 PAT를 사용하는 지름길을 택하지 마세요. 그렇지 않으면 데몬에 필요한 것보다 훨씬 많은 권한을 부여하게 됩니다.

로그인

Email + 인증 코드

  1. 이메일을 입력하면 서버가 6자리 코드를 보냅니다.
  2. 코드를 입력하면 서버가 JWT 쿠키를 발급(브라우저)하거나 PAT로 교환(CLI)합니다.

자체 호스팅 운영자는 주의하세요: 공개 배포에서는 MULTICA_DEV_VERIFICATION_CODE를 비워 두세요. 고정된 로컬 테스트 코드를 활성화하면, APP_ENV가 production이 아닌 동안 코드를 요청할 수 있는 누구나 그 값으로 로그인할 수 있습니다. 자체 호스팅 인증 구성을 참고하세요.

Google OAuth

Sign in with Google을 클릭하고 표준 OAuth 콜백을 거치세요. 자체 호스팅에는 GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, 그리고 리디렉션 URI를 구성해야 합니다 — 자체 호스팅 인증 구성을 참고하세요.

PAT 생성, 조회, 취소

PAT 생성은 두 가지 방법으로 할 수 있습니다:

  • Web UI: 설정 → API 토큰 → 새 토큰
  • CLI: multica login은 아직 로컬 PAT가 없으면 자동으로 하나를 생성합니다

전체 PAT는 생성될 때 정확히 한 번만 표시됩니다. 새로 고침하거나 대화상자를 닫은 후에는 다시 볼 수 없습니다.

Multica는 데이터베이스에 PAT의 해시만 저장합니다 — 서버조차 원본을 가져올 수 없습니다. 즉시 복사하여 저장하세요. 분실하면 유일한 방법은 취소하고 새로 생성하는 것입니다.

기존 PAT 조회(이름, 생성 시각, 마지막 사용 시각 — 전체 토큰은 포함하지 않음)는 설정 → API 토큰에 있습니다.

PAT 취소: 목록에서 Revoke를 클릭하세요. 취소는 즉시 적용됩니다 — 그 PAT로 보낸 다음 요청은 401로 거부됩니다.

로그아웃은 로컬 토큰만 삭제합니다

multica auth logout을 실행하거나 Web UI에서 로그아웃을 클릭하면:

  • 로컬 토큰이 지워집니다 — CLI는 ~/.multica/config.json에서 PAT를 제거하고, 브라우저는 쿠키를 삭제합니다.
  • PAT는 서버에서 여전히 유효합니다 — 로그아웃하기 전에 누군가 당신의 PAT를 입수했다면(예를 들어 다른 기기에 복사했다면), 그들은 여전히 그것을 사용할 수 있습니다.

PAT가 유출되었다고 의심되면, 단순히 로그아웃하지 마세요. 설정 → API 토큰로 가서 그 토큰을 취소하세요. 취소만이 유출된 토큰을 즉시 무효화합니다.

다음 단계