🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →

PRO+ 공개 샘플 · 로그인 없이 전체 내용을 볼 수 있어요.

PRO

설치 전 시식 · 로그인 없이 공개

appwrite/appwrite 백엔드·DB

내 기록만 보이는 앱, 로그인 다음에 할 일

회원이 자기 기록과 사진을 보는 앱을 만든다고 생각해 볼게요. 로그인, 기록 저장, 파일 보관을 여섯 단계 손그림 영상으로 이해하고, 다른 회원에게 자료가 열리지 않게 무엇을 정해야 하는지 살펴봅니다.

69초 영상공식 화면 3장선택 가이드

01 · 영상으로 한눈에

내 기록만 보이는 앱, 로그인 다음에 할 일

로그인과 접근 권한을 나누고, 글·사진을 저장한 뒤 두 계정으로 확인하는 과정을 한국어 나레이션과 손그림으로 설명합니다. 깃밥의 설명도이며 실제 앱의 실행·보안 테스트 결과는 아닙니다.

02 · 공식 화면 읽기

버튼을 바꿔 보며 내 서비스에 대입해 보세요

고객이 사용하는 앱 화면이 아니라, 개발·운영자가 보는 Appwrite 관리 화면이에요. 아래 활용 제안은 이 기능을 개인 기록 앱에 연결한다고 가정한 깃밥의 설명입니다.

01 / Auth · 회원 계정

회원 목록이 생겨도 로그인 화면까지 생기는 건 아니에요

Appwrite 공식 Auth Users 관리 화면. 사용자 이름, 이메일, 인증 상태와 MFA 열이 있는 회원 목록
공식 관리 화면 · 정지 캡처원본 출처 ↗기능 문서 ↗이미지 크게 보기 ↗
화면에서 확인되는 것
Users 목록에 이름·이메일과 인증 상태가 보여요. 운영자가 계정을 확인하는 화면이지, 고객이 보는 로그인 폼은 아니에요.
내 앱에 대입하면
개인 기록 앱이라면 ‘이 요청이 누구의 요청인지’ 확인하는 바탕이 돼요. 로그인된 사람의 ID를 기록과 파일의 접근 규칙에 연결합니다.
직접 만들어야 할 것
회원가입·로그인 화면, 실패 안내, 로그인 후 이동을 만들고 SDK에 연결해야 해요. 계정이 있다고 다른 사람의 기록까지 자동으로 보호되는 것은 아니에요.

화면의 영문·이름·이메일은 원작의 예시 데이터예요. 화면 속 Pro 표시는 Appwrite의 요금제이며 깃밥 PRO+와 달라요. 이 캡처만으로 필요한 요금제나 권한 설정을 판단하지 않습니다.

화면: Appwrite 및 기여자 · BSD-3-Clause. 손그림·해설·영상: 깃밥. 문서 확인: 2026. 10. 15. / 원본 화면 확인: 2026. 10. 11. 화면 자료 라이선스 ↗

내 조건이라면 어느 쪽을 고를까요?

이 조건에서는 이렇게 고릅니다

신규 회원 서비스: Appwrite와 PocketBase 중 무엇을 고를까요?

아래 상황을 가정한 선택 안내예요. 조건이 달라지면 잘 맞는 도구도 달라집니다.

01 · 가정한 상황

개발자는 있지만 서버 운영자는 없는 작은 팀이, 회원별 비공개 기록 서비스를 새로 공개하려는 경우입니다. 외부 클라우드 사용과 유료 운영비를 허용한다고 가정합니다.

  • 비교용 가정입니다. 회원이 자기 기록과 첨부파일을 보관하는 서비스를 새로 만들며, 옮겨야 할 기존 회원·자료 시스템은 없습니다.
  • 화면과 서비스 규칙을 개발할 사람은 있지만, 서버 장애·업데이트·복구를 계속 맡을 사람은 없습니다.
  • 외부 클라우드에 자료를 맡길 수 있고, 고객이 계속 접속할 수 있도록 유료 운영비를 배정할 수 있습니다.
이 조건에서 깃밥의 결론

이번 두 후보 가운데서는 Appwrite Cloud의 유료 운영부터 검토합니다. PocketBase도 회원·자료 기능을 제공하지만, 현재 팀이 맡을 수 없는 서버 관리와 업데이트 책임이 남습니다. 개인 자료의 공개 범위와 복구 대상은 앱에 맞게 정해야 합니다.

이렇게 고르는 이유

  • 이 상황에서 차이를 만드는 것은 로그인 기능의 유무보다 서버를 누가 운영하느냐입니다. Appwrite Cloud는 서버 관리를 맡기지만, PocketBase의 공식 제공 방식은 직접 운영입니다.
  • 상시 접속이 필요한 서비스이므로 Appwrite Free의 중지 조건도 선택에 포함합니다. 유료 운영비를 허용한다는 가정이 있어 Cloud를 후보로 남길 수 있으며, 예산이 없다면 이 결론도 보류합니다.
대신 감수할 점
대신 이용료와 사용량 한도를 받아들여야 합니다. 화면·결제 연동·유료 회원의 이용 범위 같은 서비스 규칙은 직접 만듭니다. Appwrite를 직접 설치하면 서버 관리가 다시 우리 책임이므로, 아래 결론은 Cloud를 고르는 경우에 한합니다. Appwrite 이용료는 깃밥 PRO+ 구독료와 별도입니다.
이런 경우에는 보류해요
계속 접속해야 하는 서비스를 무료 플랜으로만 유지하려 하거나, 운영할 사람 없이 직접 설치하려는 경우에는 확정하지 않습니다. Appwrite Free는 사용자 방문이 아니라 Console에서의 개발 활동을 기준으로 일시 중지될 수 있습니다.
02 · 같은 기준으로 읽기

Appwrite × PocketBase 직접 운영

둘 다 회원·자료·파일 기능을 내 앱에 붙이는 후보입니다. 아래에서는 같은 질문으로 Appwrite Cloud와 직접 운영하는 PocketBase를 비교합니다. Appwrite 자체 설치는 Cloud와 운영 책임이 다릅니다.

서버를 누가 운영하나요?

Appwrite Cloud
Cloud는 제공사가 서버를 관리합니다. 직접 설치를 고르면 업데이트·확장·장애 대응은 우리 몫입니다.
PocketBase 직접 운영
공식 호스팅 없이 직접 운영하는 방식입니다. 한 실행 파일로 시작할 수 있어도 서버를 계속 켜두고 관리할 사람은 필요합니다.

내 선택에 대입하면가정한 팀에서는 기능 수보다 이 차이가 Appwrite Cloud를 먼저 고를 이유입니다.

회원별 기록과 첨부파일을 숨길 수 있나요?

Appwrite Cloud
자료·파일별로 허용할 회원을 정할 수 있습니다. 개별 권한을 켜고 저장 공간 전체에 너무 넓은 허용을 주지 않아야 합니다.
PocketBase 직접 운영
기록을 읽고 고칠 조건을 정할 수 있습니다. 파일은 주소를 알면 기본적으로 접근 가능하므로 비공개 파일에는 보호 설정과 열람 규칙이 필요합니다.

내 선택에 대입하면둘 다 가능하므로 ‘개인 자료가 있다’는 이유만으로 한쪽을 고르지는 않습니다. 어느 쪽도 로그인만 연결해서 보호가 끝나지는 않습니다.

공개 후 계속 쓸 때 어떤 조건이 남나요?

Appwrite Cloud
Free는 7일 연속 개발 활동이 없으면 중지될 수 있습니다. 중지 중에는 사용자가 접속할 수 없어, 상시 이용 서비스는 유료 플랜을 전제로 봅니다.
PocketBase 직접 운영
현재 1.0 이전이며 이전 버전과의 완전한 호환을 보장하지 않습니다. 공식 문서는 변경기록 확인·때때로 수동 변경 작업을 감수하지 않는 중요한 운영 서비스에 아직 권하지 않습니다.

내 선택에 대입하면이 팀은 무료 여부보다 서비스가 멈추거나 버전이 바뀔 때 감당할 조건을 먼저 봐야 합니다. 유료 Cloud도 무중단을 측정·보증한 결론은 아닙니다.

결제 후 권한 부여 같은 업무 규칙은 누가 만드나요?

Appwrite Cloud
직접 작성한 코드를 요청·이벤트·예약 시간에 실행하는 Functions를 제공합니다. 결제 결과 확인과 이용 범위 결정은 그 코드로 구현합니다.
PocketBase 직접 운영
Go 또는 JavaScript 코드로 서버 동작을 확장합니다. 관리형 함수 실행 서비스가 따로 붙는 방식은 아니며, 코드와 서버를 함께 관리합니다.

내 선택에 대입하면둘 다 완성된 회원 사업이나 결제 서비스를 만들어주지는 않습니다. 기존 업무 코드가 있다면 실행 환경이 맞는지도 선택 조건입니다.

실수로 지운 자료의 복구와 지속 비용은요?

Appwrite Cloud
Cloud에서 고객이 설정하는 데이터베이스 백업·복원은 Pro 이상입니다. 회원 계정과 첨부파일까지 같은 방식으로 복원되는지는 별도 확인해야 합니다. 플랜과 사용량에 따른 비용도 남습니다.
PocketBase 직접 운영
내장 백업·복원이 있지만 보관 위치와 복구 운영은 직접 정합니다. 서버·메일·보관 비용이 남고, 외부 S3에 올린 파일은 내장 백업에 포함되지 않습니다.

내 선택에 대입하면Cloud 이용료와 자체 서버 요금만 비교하면 운영 시간과 복구 비용을 빠뜨립니다. 실제 사용량을 모르는 지금 어느 쪽이 더 싸다고 정할 수는 없습니다.

Appwrite를 고른다면

새 회원 서비스를 만들 개발자는 있지만 서버를 운영할 사람은 없고, 관리형 서비스 비용을 낼 수 있다면 Appwrite Cloud를 먼저 봅니다.

PocketBase 직접 운영를 고른다면

작은 자체 서버를 맡을 사람이 있고, 업데이트·복구·버전 변경을 직접 다루며 가벼운 구성을 원한다면 PocketBase를 검토합니다.

03 · 조건을 바꿔 생각하기

이런 상황이라면 결론이 달라져요

운영할 사람이 있고, 중단·업데이트 대응을 감수할 개인용 또는 초기 시험 서비스라면

PocketBase를 먼저 검토합니다.

하나의 실행 파일에 계정·자료 관리가 담겨 있어 작은 자체 서버를 꾸리기 좋습니다. 다만 1.0 이전의 버전 변경에 따라 필요한 수동 변경 작업도 맡아야 합니다.

이미 회원·자료·권한 기능이 잘 동작하는 서비스가 있다면

기존 시스템을 유지하고 부족한 기능만 비교합니다.

두 후보의 기본 기능이 있다는 이유만으로 옮길 필요는 없습니다. 해결할 불편이 분명해야 계정·자료·업무 코드를 바꾸는 작업을 감수할 이유가 생깁니다.

상시 접속은 필요하지만 지속적인 운영비도, 서버 담당자도 없다면

둘 중 하나로 바로 확정하지 않습니다.

Appwrite Free는 개발 활동이 없으면 일시 중지될 수 있고, PocketBase는 운영 담당이 필요합니다. 무료라는 이유만으로 운영 조건이 충족되지는 않습니다.

자료를 외부 클라우드에 맡길 수 없다면

Appwrite Cloud 추천을 거두고 직접 운영 후보를 다시 비교합니다.

Appwrite 자체 설치와 PocketBase 모두 후보가 될 수 있습니다. 어느 쪽이든 서버·복구 담당과 보관 위치 조건이 먼저 필요하므로 PocketBase로 자동 결론 내리지는 않습니다.

04 · 아직 정할 수 없는 부분

이걸 알면 더 정확하게 고를 수 있어요

여기서는 답을 임의로 정하지 않았어요. 내 상황에 대입해서 읽어 보세요.

이미 쓰는 회원·자료 관리 시스템이 있나요?
확인할 것

현재 쓰는 로그인·자료 저장 도구와 바꾸려는 불편 한 가지를 적고, 기존 기능이나 설정으로 해결 가능한지 확인하세요.

확인 후 선택

기존 기능으로 해결되면 유지합니다. 교체해야 해결된다면 계정·자료·접근 권한의 이전 범위를 먼저 정한 뒤 다시 비교합니다.

서버를 맡을 사람이 있고, 잠시 멈추거나 수동으로 업데이트해도 괜찮나요?
확인할 것

업데이트 실패나 자료 삭제가 생겼을 때 복구를 맡을 사람과 허용할 중단 시간을 적어보세요. 코드 작성 가능 여부와 운영 담당 여부는 따로 확인합니다.

확인 후 선택

담당자가 없으면 관리형 후보를 우선합니다. 담당자가 있고 중단·버전 변경 대응을 감수할 수 있으면 PocketBase도 남깁니다. 엄격한 가용성 보장이 필요하면 이 글만으로 확정하지 않습니다.

월 운영 예산, 예상 이용량, 자료를 복구해야 할 범위는 어느 정도인가요?
확인할 것

예상 활성 회원 수·월 저장량·전송량·메일 발송량을 적어 현재 Cloud 요금과 한도에 대입하세요. 자체 운영은 서버·메일·백업 비용과 담당자 시간을 함께 적고, 계정·기록·첨부파일의 복원 방법을 각각 확인합니다.

확인 후 선택

예산 안에서 필요한 복구 범위까지 충족하는 후보를 남깁니다. 비용이나 복원 방법이 미확인이면 결정을 보류합니다. 설치·측정 전에는 속도나 최대 수용량의 우열을 확정하지 않습니다.

쓰임부터 이해하는 레포 해설

내 앱에 로그인과 회원별 자료 보관을 붙이고 싶을 때

Appwrite는 앱 뒤에서 계정 확인·자료 저장·접근 허용을 맡는 개발 도구입니다. 회원이 자기 메모를 저장하고 다시 열어보는 앱을 만들 때 쓸 수 있어요. 방문자가 누르는 버튼과 메모 화면은 개발자가 만듭니다.

01 · 내 일에 대입해 보기

이런 일이 필요할 때 써요

01

개인 메모

회원마다 자기 기록을 보관하고, 다른 회원에게는 보이지 않게 하고 싶어요.

로그인한 사람과 각 메모의 열람 범위를 연결해 개인 자료를 관리합니다.

02

나중에 읽을 목록

회원이 저장한 글 제목과 주소를 자기 목록에서 다시 찾게 하고 싶어요.

회원별로 제목·주소를 저장할 수 있습니다. 글을 자동으로 읽거나 요약하는 기능은 별도로 만듭니다.

03

비공개 학습 기록

오늘 공부한 내용과 진도를 회원별로 남기고 싶어요.

기록을 저장하고 누가 볼 수 있는지 정합니다. 달력·진도 표시·학습 추천은 앱에서 만듭니다.

02 · 하나의 상황으로 따라가기

개인 메모 앱에서는 이렇게 이어집니다

위 상황과 아래 흐름은 공식 로그인·개인 자료 예제와 조회·수정 문서를 이어 설명한 활용안입니다. 완성 앱의 시연은 아니며, 메모 화면을 만들어 연결한 상황을 가정합니다.

  1. 로그인하기

    사용자가
    이미 가입한 이메일과 비밀번호를 입력합니다.
    Appwrite의 역할
    계정을 확인하고 로그인 상태를 만듭니다.
    그러면
    앱이 성공 응답을 받아 내 메모 화면을 보여줍니다.
    이 부분의 공식 예제 보기 ↓
  2. 메모 저장하기

    사용자가
    메모를 쓰고 저장 버튼을 누릅니다.
    Appwrite의 역할
    앱에서 받은 내용과 이 회원의 읽기·수정·삭제 허용 정보를 저장합니다.
    그러면
    앱에 저장 완료가 표시되고, 다음에도 꺼내 볼 자료가 남습니다.
    이 부분의 공식 예제 보기 ↓
  3. 다시 꺼내 보기

    사용자가
    나중에 다시 로그인해 내 메모를 엽니다.
    Appwrite의 역할
    앱의 조회 요청에 따라 접근이 허용된 자료를 돌려줍니다.
    그러면
    앱 화면에서 이전에 저장한 내용을 다시 읽을 수 있습니다.
  4. 내용 고치기

    사용자가
    자기 메모를 수정하고 다시 저장합니다.
    Appwrite의 역할
    수정 권한을 확인한 뒤 저장된 내용을 바꿉니다.
    그러면
    앱은 응답을 받아 바뀐 메모를 화면에 반영합니다.

사용자가 보는 것은 내 메모 화면입니다. 그 뒤의 로그인 확인과 자료 보관을 Appwrite에 맡기는 방식이에요.

03 · 역할 나눠 보기

맡길 부분과 직접 챙길 부분

Appwrite에 맡겨요

  • 회원 계정과 로그인 상태를 관리합니다.
  • 자료를 저장하고, 읽거나 고칠 수 있는 요청인지 설정에 따라 판단합니다.

직접 준비하고 운영해요

  • 가입·로그인·메모 입력·목록 화면을 만들고 각 동작을 연결합니다.
  • 제목·본문 등 저장할 항목과 공개 범위를 정합니다. 공식 저장 예제는 제목 한 개를 담는 부분입니다.
  • 개인 자료가 다른 회원에게 열리지 않도록 자료별 권한과 저장 공간 전체의 권한을 함께 설정합니다.
  • 사진·PDF의 파일 권한을 별도로 설정하고, 기록 삭제 시 파일 처리와 백업 복원 방법을 검증합니다.
04 · 쓰기 전에 알아둘 것

내 상황에 맞는지는 여기서 판단해요

필요한 개발
웹이나 모바일 화면을 만들고 Appwrite 기능을 코드로 연결할 사람이 필요합니다. 바로 쓰는 메모 앱을 찾는다면 완성된 메모 서비스를 고르는 편이 맞습니다.
클라우드로 시작
Appwrite Cloud를 이용하면 Appwrite 서버 설치를 생략할 수 있습니다. 서비스 안에 내 앱용 프로젝트와 자료 저장 공간은 만들어야 합니다.
직접 서버 운영
직접 설치하는 방식도 지원합니다. 실행 환경인 Docker와 서버가 필요하며, 업데이트·자료 보관 같은 운영도 직접 맡습니다.

먼저 작은 기록 앱으로 로그인·권한·저장·복원을 연결해 보세요. 다른 회원의 기록과 사진이 막히는지까지 확인한 다음 기능을 넓히는 편이 좋습니다.

더 자세히: 원본 해석과 확인할 사항

영상의 핵심은 로그인과 접근 권한을 나누는 것입니다. Auth는 누가 요청했는지 확인하고, 데이터베이스와 Storage는 설정된 권한에 따라 기록과 파일을 제공합니다. 화면·업무 규칙·공개 범위와 복구 방법은 앱을 만드는 팀이 정합니다.

01 · 원본을 읽는 방법

이 부분을 보면 판단이 달라져요

↑ 원본 ① 이미 가입한 회원이 로그인하기

setEndpoint·setProject → createEmailPasswordSession

접속할 서비스 주소와 프로젝트를 고르고 이메일·비밀번호로 세션, 즉 이후 요청에서 사용할 로그인 상태를 만듭니다. 이 결과가 “모든 데이터에 접근 가능”이라는 권한을 주는 것은 아닙니다.

내 일에 적용하면
로그인 성공 후 보여줄 화면과 실제 메모 조회가 허용될 조건을 분리하세요. 잘못된 프로젝트 연결과 올바른 로그인 뒤의 권한 거부는 사용자에게 비슷하게 보여도 수정할 설정이 다릅니다.
이 예제만으로 알 수 없는 것
원본은 설명용 계정 값을 가진 로그인 호출입니다. 회원 가입·비밀번호 복구·만료된 세션 처리까지 완성된 화면은 아닙니다.
↑ 원본 ② 이 회원만 열어볼 자료 저장하기

Permission.read/update/delete(Role.user(...))와 Row Security

이 행의 읽기·수정·삭제를 특정 회원에게 부여합니다. 공식 문서는 행 단위 권한을 켜는 Row Security, 테이블의 생성 허용, 전체 읽기·수정·삭제 권한을 주지 않는 설정을 함께 설명합니다.

내 일에 적용하면
테이블은 자료함, 행은 개별 메모로 읽으세요. 자료함 전체를 모두에게 열어두고 한 메모의 독자만 제한하면 의도한 비공개 정책을 만들 수 없습니다. 생성 권한과 생성 후 읽기 권한도 다른 칸에 기록해야 합니다.
이 예제만으로 알 수 없는 것
발췌는 tablesDB와 ID가 이미 준비된 상황이며 전체 설치 코드가 아닙니다. 서버 API 키의 권한은 별도 경계이므로 브라우저의 회원 권한 모델과 섞지 않습니다.
02 · 읽은 뒤, 여기부터

로그인 여부가 아닌 데이터 소유자를 기준으로 3사용자 권한표를 작성합니다.

내 조건에 맞춰 확인하기 위한 순서예요. 깃밥이 직접 실행한 결과를 뜻하지는 않아요.

  1. 메모 A의 소유자·다른 회원·비로그인 사용자를 만들었다고 가정하고 각자의 읽기·수정·삭제 기대값을 적습니다.

    확인 후 남길 것소유자만 세 작업을 허용하는 9칸 표와 공개 자료의 별도 정책.

  2. 공식 Row Security 안내와 표를 대조하며 테이블 생성 권한·전체 권한·행 권한을 각각 적습니다.

    확인 후 남길 것전체 읽기 권한이 개인 메모 정책을 넓히는지 즉시 보이는 권한 설정 목록.

  3. 예제의 연결 주소·프로젝트 ID·회원 ID와 서버 전용 키를 어디서 공급할지 분리합니다.

    확인 후 남길 것브라우저에 둘 값과 서버에만 둘 비밀값의 위치표 및 실제 구현에서 확인할 거부 응답 목록.

다음 단계로 진행

권한표의 모든 칸이 설정 항목과 연결되면 더미 계정·메모로 실제 접근 확인을 계획합니다.

여기서 보류

테이블의 광범위한 허용이 남거나 서버 키를 브라우저에 넣어야만 되는 설계라면 공개하지 않습니다.

판단 근거와 확인 항목 더 읽기

로그인 성공과 자료 접근은 다른 단계

공식 자료에서 확인
공식 문서는 계정 세션 생성과 행별 Permission·Role을 별도 예제로 설명합니다.
깃밥의 해석
로그인 버튼이 동작한다고 회원별 데이터 보호가 끝난 것은 아닙니다. 데이터마다 소유자와 공유 범위를 정해야 합니다.
도입 전 판단
본인·다른 회원·비로그인 세 상태로 읽기와 수정 동작을 각각 확인하세요.

행 권한을 넓은 테이블 권한으로 덮지 않기

공식 자료에서 확인
공식 개인 행 안내는 Row Security 활성화, 테이블의 생성 허용, 전체 읽기·수정·삭제 권한 생략을 함께 요구합니다.
깃밥의 해석
샘플 코드 한 부분만 복사하면 상위 권한 설정 때문에 의도한 격리가 되지 않을 수 있습니다.
도입 전 판단
개인 자료와 공개 자료의 테이블 정책을 분리하고, 서버용 API 키를 브라우저 코드에 넣지 마세요.

기록을 잠가도 사진은 별도로 확인하기

공식 자료에서 확인
Storage의 권한은 버킷 전체와 파일 단위에 있습니다. 어느 한쪽에서 접근을 허용하면 파일에 접근할 수 있으며, 개별 파일 권한은 File Security를 켜야 적용됩니다.
깃밥의 해석
비공개 기록에 사진 ID를 붙였다고 사진까지 같은 정책으로 보호되지는 않습니다. 파일의 공개 범위를 따로 정해야 합니다.
도입 전 판단
회원 A로 기록과 사진을 만든 뒤 B와 비로그인 상태로 각각 열어보세요. 읽기뿐 아니라 수정·삭제, 기록 삭제 뒤 첨부파일 처리도 확인합니다.

이런 상황에 잘 맞아요

  • 로그인·스토리지·데이터 API를 묶어 쓰는 앱
  • 회원별 읽기·쓰기 권한을 설계할 수 있는 팀

다른 선택지도 비교해 보세요

  • SDK 연결만으로 접근 제어가 완성된다고 기대하는 경우
  • 자료별 공개 범위와 회원 권한을 정할 수 없는 상태에서 바로 공개하려는 경우

써보기 전에 확인할 것

  • SDK·서버 버전과 예제 API의 호환성 확인
  • Row Security와 테이블·행 권한을 함께 검토
  • File Security와 버킷·파일 권한을 함께 검토
  • 본인·다른 회원·비로그인 상태로 기록과 파일 접근 검증
  • 계정·기록·파일을 복원할 방법과 운영 담당 지정
누구나 볼 수 있어요

이 흐름의 근거가 된 공식 예제

화면과 사용 예는 공식 자료에서 가져오고, 설명과 활용 제안은 깃밥이 덧붙였어요.

01원본 ① 이미 가입한 회원이 로그인하기

공식 예제는 연결할 앱을 지정하고, 이메일·비밀번호가 맞으면 로그인 상태를 만듭니다. 화면의 로그인 버튼을 눌렀을 때 연결할 처리에 해당합니다. 아래 계정 값은 설명용이며, 가입 화면이나 로그인 화면 자체를 만드는 코드는 아닙니다.

깃밥의 활용 제안

회원이 자기 자료를 보기 전에 누구인지 확인할 때.

공식 코드 펼쳐보기
공식 자료의 사용 예
import { Client, Account } from "appwrite";

const client = new Client()
    .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
    .setProject('<YOUR_PROJECT_ID>'); // Your project ID

const account = new Account(client);

const result = await account.createEmailPasswordSession({
    email: 'email@example.com',
    password: 'password'
});

console.log(result);
사용 흐름으로 돌아가기 ↑

appwrite contributors · BSD-3-Clause

원본 자료 보기 ↗

02원본 ② 이 회원만 열어볼 자료 저장하기

제목 한 개를 저장하면서 특정 회원에게 읽기·수정·삭제를 허용하는 공식 코드입니다. 개인 메모나 저장목록에 응용할 수 있습니다. 본인에게만 보이게 하려면 저장 공간 전체를 모두에게 열지 않고, 자료별 권한을 적용하는 Row Security도 켜야 합니다.

깃밥의 활용 제안

같은 앱을 쓰더라도 회원마다 자기 기록만 보게 하고 싶을 때.

공식 코드 펼쳐보기
공식 자료의 사용 예
let promise = tablesDB.createRow({
    databaseId: '<DATABASE_ID>',
    tableId: '<TABLE_ID>',
    rowId: ID.unique(),
    data: { 'title': 'My Private Row' },
    permissions: [
        Permission.read(Role.user('<USER_ID>')),    // Only this user can read
        Permission.update(Role.user('<USER_ID>')),  // Only this user can update
        Permission.delete(Role.user('<USER_ID>'))   // Only this user can delete
    ]
});
사용 흐름으로 돌아가기 ↑

appwrite contributors · BSD-3-Clause

원본 자료 보기 ↗

선정한 이유: 로그인과 접근 권한을 구분하고, Cloud·자체 운영의 책임과 두 계정으로 확인할 일을 연결해 설명합니다. 공식 화면은 이해를 돕는 별도 예제로 보존했습니다.

출처와 확인 범위

공식 자료를 읽고 해설한 편집 콘텐츠예요. 새로 설치해 검증하거나 도입 효과를 측정한 기록은 아니에요. 원본 화면의 언어와 수치는 그대로 유지했어요.

제작자
appwrite contributors
자료 확인일
2026-10-15T03:06:43.206800+00:00
라이선스
BSD-3-Clause ↗