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
참고:
- 기본 Logto 도메인을 사용하는 경우, 이 옵션은 생략할 수 있습니다. CLI가 리소스를 자동으로 추론할 수 있기 때문입니다.
- 엔드포인트로 사용자 정의 도메인 또는 기본 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 |
환경 변수 사용
- CLI 루트 디렉토리 또는 CLI가 위치한 상위 디렉토리에
.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
- 또는, 명령을 실행할 때 이러한 환경 변수를 직접 지정할 수 있습니다.
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