Spaces에서 사용자 플랜과 상태 얻기

Spaces에서 사용자 플랜과 상태 얻기

Space의 iframe 안에서 메인 사이트에 사용자가 로그인했는지, PRO 구독이 있는지, 혹은 조직 중 하나가 유료 구독을 가졌는지 확인할 수 있어요.

window.parent.postMessage로 요청을 보내고 USER_PLAN 메시지를 수신해요.

출처: 문서

본문

Space의 iframe 안에서 메인 사이트에 사용자가 로그인했는지, PRO 구독이 있는지, 혹은 조직 중 하나가 유료 구독을 가졌는지 확인할 수 있어요.

window.addEventListener("message", (event) => {
    if (event.data.type === "USER_PLAN") {
        console.log("plan", event.data.plan);
    }
})

window.parent.postMessage({
    type: "USER_PLAN_REQUEST"
}, "https://huggingface.co");

event.data.plan은 다음 타입이에요:

{
    user: "anonymous",
    org: undefined
} | {
    user: "pro" | "free",
    org: undefined | "team" | "enterprise" | "plus" | "academia"
}

사용자 상태(로그아웃 = "anonymous")와 플랜을 둘 다 얻을 수 있어요.

예시

더 알아보기 (Learn more)

  • USER_PLAN_REQUEST 메시지를 보내고 USER_PLAN 응답에서 user(pro/free/anonymous)와 org(team/enterprise/plus/academia)를 읽어요.
  • Space를 다른 사이트에 임베드하려면 spaces-embed 문서를 참고해요.
  • Spaces 개요에서 Space 메시징·상태 전반을 확인해 보세요.