새로온 개발자 센터
11단계 시작하기22단계 연결· 내 현황문서

이 문서의 큐

  1. 배포 시 자동 연결
  2. 가입·로그인 폼
  3. 로그아웃·탈퇴·소셜 로그인
  4. 조건부 노출과 프로필 바인딩
  5. 등급을 코드로 부여 — 회원 쿠폰
  6. 회원 명단 보기
  7. 속성 요약

개요

시작하기

Quickstart

기능 붙이기

FormsMembersBoardsShopCatalogsGroupsHoldings

앱 붙이기

앱 백엔드 붙이기

레퍼런스

속성 계약 (data-saeroon-*)CLI 레퍼런스 (@saeroon/cli)APIMCP

마켓플레이스

Marketplace

문서 / 기능 붙이기

이 문서의 큐
  1. 배포 시 자동 연결
  2. 가입·로그인 폼
  3. 로그아웃·탈퇴·소셜 로그인
  4. 조건부 노출과 프로필 바인딩
  5. 등급을 코드로 부여 — 회원 쿠폰
  6. 회원 명단 보기
  7. 속성 요약

Members

정적 사이트에 회원 기능을 붙입니다. 가입·로그인·로그아웃·탈퇴·프로필·비밀번호 변경·소셜 로그인, 로그인 상태·등급에 따른 조건부 노출까지 HTML 속성만으로 동작합니다.

배포 시 자동 연결

회원 관련 data-saeroon-* 속성이 있는 HTML을 배포하면, @saeroon/web-sdk 스크립트와 사이트 식별 정보가 자동으로 주입됩니다. 이때 SDK가 사이트(테넌트)를 해석할 수 있도록 공개 키를 함께 넘깁니다.

npx @saeroon/cli deploy ./my-site --pk pk_live_XXXX

공개 키(pk_live_…)는 브라우저에 노출되어도 안전한 키입니다. 발급은 키 관리에서 합니다.

가입·로그인 폼

<form> 에 data-saeroon-auth="<모드>" 를 붙입니다. 모드는 register(가입)·login(로그인)·profile(프로필 수정)·password(비밀번호 변경)입니다.

<!-- 가입 -->
<form data-saeroon-auth="register" data-redirect="/welcome">
  <input name="email" type="email" required />
  <input name="password" type="password" required />
  <input name="name" />
  <label><input type="checkbox" name="marketingConsent" /> 마케팅 수신 동의</label>
  <button type="submit">가입</button>
  <div data-saeroon-error></div>
</form>

<!-- 로그인 -->
<form data-saeroon-auth="login">
  <input name="email" type="email" required />
  <input name="password" type="password" required />
  <button type="submit">로그인</button>
  <div data-saeroon-error></div>
</form>

data-redirect 를 두면 성공 후 그 경로로 이동합니다.

로그아웃·탈퇴·소셜 로그인

버튼·링크에 data-saeroon-auth 값을 지정합니다.

<button data-saeroon-auth="logout" data-redirect="/">로그아웃</button>
<button data-saeroon-auth="withdraw" data-confirm="정말 탈퇴할까요?">탈퇴</button>

<a data-saeroon-auth="kakao">카카오로 시작</a>
<a data-saeroon-auth="naver">네이버로 시작</a>

소셜 로그인은 kakao·naver·google·apple 을 지원합니다.

조건부 노출과 프로필 바인딩

로그인 여부·등급으로 요소를 보이거나 숨깁니다.

<div data-saeroon-if="logged-in">환영합니다, <span data-saeroon-bind="user.name"></span>님</div>
<div data-saeroon-if="logged-out"><a data-saeroon-auth="kakao">로그인</a></div>
<div data-saeroon-if="tier:vip,gold">등급 회원 전용 안내</div>
  • data-saeroon-if 값: logged-in · logged-out · tier:<등급1,등급2,…>
  • data-saeroon-bind="user.<필드>" 로 프로필 값을 채웁니다(예: user.name·user.email·user.displayName). 접두사는 user. 입니다.

등급을 코드로 부여 — 회원 쿠폰

등급(tier)은 결제·운영자 지정 외에 쿠폰 코드로도 영구 부여할 수 있습니다(컴프 — 할인 아님). 운영자가 npx @saeroon/cli coupon create --site <siteId> --tier Gold --count 100 --json(또는 MCP saeroon.platform.coupon.*)로 코드를 발급하고, 회원이 코드를 입력하면 등급이 오릅니다. 서버가 단일사용·회수를 강제하고, 부여 출처는 entitlementSource: "coupon" 으로 남아 결제 후원자와 구분됩니다. 앱(네이티브)에서의 redeem·출처 계약은 앱 백엔드 붙이기를 참고하세요.

회원 명단 보기

가입한 회원은 hosting 대시보드의 사이트 상세에서 확인합니다.

속성 요약

속성위치뜻
`data-saeroon-auth="register\login\profile\password"`<form>인증 폼 모드
`data-saeroon-auth="logout\withdraw"`버튼로그아웃·탈퇴
`data-saeroon-auth="kakao\naver\google\apple"`버튼·링크소셜 로그인
`data-saeroon-if="logged-in\logged-out\tier:…"`임의 요소조건부 노출
data-saeroon-bind="user.<필드>"임의 요소프로필 값 바인딩

각 폼의 필드 이름을 포함한 전체 속성 표는 Attributes에 있습니다. 게시판·댓글은 Boards를 참고하세요.

요약

정적 사이트에 회원 기능을 붙입니다. 가입·로그인·로그아웃·탈퇴·프로필·비밀번호 변경·소셜 로그인, 로그인 상태·등급에 따른 조건부 노출까지 HTML 속성만으로 동작합니다.

마크다운 원문/docs/members.md