마켓플레이스
앱을 마켓플레이스에 게시하면 다른 Kazzle 스페이스에서 발견하고 설치할 수 있습니다.게시의 역할
게시하면 다른 스페이스에서 앱을 설치할 수 있습니다. 사용자는 앱의 이름, 부제, 아이콘, 게시자, 공개 여부를 확인한 후 자신의 스페이스에 설치합니다. 게시하려면kazzle.config.ts에 subtitle이 필요합니다. 이는 앱 이름 아래에 표시되는 한 줄짜리 태그라인입니다.
게시된 버전은 main의 최신 커밋을 사용합니다. 게시된 앱을 위한 별도의 릴리스 브랜치는 없습니다.
기본적으로 게시된 앱을 클릭하면 배포된 UI가 열립니다. 앱은 선택적으로 커스텀 시작 URL을 설정하거나, 열기 전에 Kazzle 인증을 요구하거나, 설치 및 제거 웹훅을 받을 수 있습니다.
앱을 게시하는 방법은 앱 게시하기를 참조하세요.
설치
누군가 게시된 앱을 설치하면 Kazzle은 해당 스페이스 내에 설치 기록을 생성합니다. 설치하는 스페이스가 설치 및 관련 데이터를 소유합니다.사용자 인증
로그인한 Kazzle 사용자가 설치된 앱을 열면 Kazzle은 현재 사용자에 대한 정보를 앱에 제공합니다. Kazzle은 단기 JWT를 베어러 토큰으로 첨부합니다. 앱은 Kazzle의 공개 JWKS에 대해 토큰을 검증하여 사용자, 스페이스, 설치 정보를 읽을 수 있습니다. 토큰에는 다음 클레임이 포함됩니다:
검증 예시:
kazzleAuth:required는 로그인한 Kazzle 사용자만 앱을 열 수 있음을 의미하고,optional은 Kazzle 인증 없이 앱을 열 수 있도록 합니다.launchUrl: 사용자가 앱을 클릭할 때 열리는 진입점을 재정의합니다.
웹훅
매니페스트에webhookUrl이 포함되어 있으면 Kazzle은 앱이 설치되거나 제거될 때 HTTP POST 요청을 전송합니다.
app.installed에는 게시자의 백엔드가 설치별 API에 인증하는 데 사용할 수 있는 설치 키가 포함됩니다:
app.uninstalled에는 이벤트, 설치 ID, 앱 ID, 스페이스 ID, API URL이 포함됩니다. 게시자는 이 이벤트를 받은 후 설치 키 사용을 중단해야 합니다.
설치별 API
각 설치는https://api.kazzle.app의 범위가 지정된 API를 호출할 수 있습니다. 호출은 설치 키(게시자의 백엔드에서) 또는 사용자 인증 토큰(호스팅된 UI에서)으로 인증됩니다. 모든 작업은 자동으로 해당 설치로 범위가 지정됩니다.
사용 가능한 엔드포인트:
전체 요청 및 응답 스키마는 https://api.kazzle.app/openapi.json의 Kazzle OpenAPI 스펙에 다음 경로 아래에 게시됩니다.
이 API를 통해 작성된 시크릿은 저장 시 암호화되며 특정 설치로 격리됩니다. 이들은 스페이스의 Vault에 저장된 시크릿과 별개입니다.