그리고 동기화 기능 는 동기화 게이트웨이의 기본 구성 요소 중 하나로, 어떤 사용자가 어떤 문서에 액세스할 수 있는지 정의하는 것이 주요 임무입니다. 이 스크린캐스트에서는 공개 채널(! 채널이라고도 함)을 사용하여 아직 앱에 로그인하지 않은 사용자와 문서를 동기화하는 방법을 알아봅니다. 이 기능은 백엔드에서 변경할 수 있고 사용자가 앱을 처음 시작할 때 자동으로 가져올 수 있는 동적 데이터로 온보딩 여정을 설계할 때 특히 유용합니다. 메모 작성 애플리케이션을 예로 들어 다음 사항을 살펴보겠습니다:
- 공개 채널을 사용하여 시작하기 메모는 사용자가 앱을 처음 시작할 때의 튜토리얼 메모라고 생각하시면 됩니다.
- 등록된 사용자가 만든 노트를 해당 사용자만 액세스할 수 있는 채널에 매핑합니다.
- 를 사용하여 쓰기 권한을 적용합니다. 요구 사용자 메서드
- curl 명령으로 동기화 기능 테스트하기
이 레슨의 코드 찾기
아래에서 동기화 게이트웨이 구성 파일을 찾을 수 있습니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{ "log": ["CRUD"], "데이터베이스": { "노트": { "서버": "월러스:", "users": { "GUEST": {"disabled": false}, "william": {"비밀번호": "pass"}, "admin": {"비밀번호": "pass"} }, "동기화": ` 함수 동기화(doc, oldDoc) { 스위치(doc.보안) { case "public": 요구 사용자("admin"); 채널("!"); break; 기본값: 요구 사용자(doc.user_name); 채널(doc._id); 액세스(doc.user_name, doc._id); } } ` } } } |
그리고 동기화 기능을 테스트하기 위해 curl 명령을 사용합니다:
- 관리자 API를 통해 공개 노트 유지
123curl -X POST http://localhost:4985/notes/-H "콘텐츠 유형: 애플리케이션/json"-d '{"security": "공개", "제목": "시작하기"}' - 사용자 인증
123curl -vX POST http://localhost:4984/notes/_session-H "콘텐츠 유형: 애플리케이션/json"-d '{"name": "william", "password": "pass"}' - 사용자 노트 유지
1234curl -X POST http://localhost:4984/notes/-H "콘텐츠 유형: 애플리케이션/json"-H "Cookie: 동기화 게이트웨이 세션 = 붙여넣기_쿠키_값"-d '{"user_name": "william", "title": "사용자 여정 개요"}'