본문으로 건너뛰기

CLI를 사용하여 사용자 정의 UI 자산 업로드하기

사용자 정의 로그인 UI를 개발한 후, 이를 Logto Cloud에 배포하여 테넌트 사용자를 서비스할 수 있습니다. "Bring your UI" 문서에서 이미 소개한 것처럼, Logto Console에서 압축된 UI 자산을 업로드하여 이를 달성할 수 있습니다.

여기서는 CLI 명령을 사용하여 Cloud에 UI 자산을 배포하는 또 다른 옵션을 제공합니다. 이는 NPM 스크립트나 CI/CD 파이프라인에 배포 프로세스를 통합하고자 할 때 유용합니다.

지침

노트:

사용자 정의 로그인 UI 자산이 /path/to/your/custom/ui/dist 디렉토리에 빌드되어 있다고 가정합니다.

배포 명령은 UI 자산을 자동으로 압축하고, Logto Cloud에 업로드하며, 사용자 정의 UI를 테넌트 사용자의 로그인 경험으로 설정합니다.

사전 요구 사항

이 명령은 Logto Management API와 상호작용하므로, 요청을 인증하기 위해 기계 간 애플리케이션이 필요합니다. Logto Management API가 무엇인지와 필요한 권한으로 기계 간 애플리케이션을 생성하는 방법에 대해서는 이 문서를 참조하세요.

명령 옵션

--help                                 도움말 표시
--version CLI 버전 출력
--auth Logto M2M 애플리케이션의 인증 자격 증명. 예: <app-id>:<app-secret>
--endpoint Logto Cloud 인스턴스를 가리키는 Logto 엔드포인트 URI. 예: https://<tenant-id>.logto.app/
--path, --experience-path 사용자 정의 로그인 경험 자산의 로컬 폴더 경로.
--resource, --management-api-resource Logto Management API 리소스 지표. 사용자 정의 도메인을 사용하는 경우 필요.
--verbose 자세한 출력 표시. [기본값: false]

명령 실행

애플리케이션 ID가 foo, 애플리케이션 비밀이 bar, 테넌트 ID가 baz라고 가정합니다.

npx @logto/tunnel deploy --auth foo:bar --endpoint https://baz.logto.app --experience-path /path/to/your/custom/ui/dist

Logto 엔드포인트에 사용자 정의 도메인을 사용하는 경우, 추가 옵션 --management-api-resource (또는 --resource)를 지정해야 합니다.

Logto Management API 리소스가 항상 https://<tenant-id>.logto.app/api로 고정되어 있다는 사실을 고려하여, 다음과 같이 명령을 실행할 수 있습니다:

npx @logto/tunnel deploy --resource https://baz.logto.app/api --auth foo:bar --endpoint https://your.custom.domain --experience-path /path/to/your/custom/ui/dist

참고:

  1. 기본 Logto 도메인을 사용하는 경우, 이 옵션은 생략할 수 있습니다. CLI가 리소스를 자동으로 추론할 수 있기 때문입니다.
  2. 엔드포인트로 사용자 정의 도메인 또는 기본 Logto 도메인을 사용하는 것은 동일한 결과를 제공합니다.

또한, 기존의 zip 파일이 있고 이를 직접 사용하고자 하는 경우, --zip-path 옵션을 지정할 수 있습니다.

npx @logto/tunnel deploy --auth foo:bar --endpoint https://baz.logto.app --zip-path /path/to/your/custom/ui/dist.zip

지원되는 환경 변수

배포 명령은 환경 변수를 지원하며, 이를 해당 옵션에 자동으로 매핑합니다.

지원되는 모든 환경 변수는 LOGTO_ 접두사가 붙어 있으며, 아래에 나열되어 있습니다.

환경 변수CLI 옵션
LOGTO_AUTH--auth
LOGTO_ENDPOINT--endpoint
LOGTO_EXPERIENCE_PATH--experience-path
LOGTO_PATH--path
LOGTO_MANAGEMENT_API_RESOURCE--management-api-resource
LOGTO_RESOURCE--resource
LOGTO_ZIP_PATH--zip-path

환경 변수 사용

  1. CLI 루트 디렉토리 또는 CLI가 위치한 상위 디렉토리에 .env 파일을 생성할 수 있습니다.
.env
LOGTO_AUTH=foo:bar
LOGTO_ENDPOINT=https://your.custom.domain
LOGTO_EXPERIENCE_PATH=/path/to/your/custom/ui/dist
LOGTO_RESOURCE=https://baz.logto.app/api

그런 다음 옵션을 지정하지 않고 명령을 실행합니다.

npx @logto/tunnel deploy
  1. 또는, 명령을 실행할 때 이러한 환경 변수를 직접 지정할 수 있습니다.
LOGTO_AUTH=foo:bar LOGTO_ENDPOINT=https://your.custom.domain LOGTO_EXPERIENCE_PATH=/path/to/your/custom/ui/dist LOGTO_RESOURCE=https://baz.logto.app/api npx @logto/tunnel deploy