Search
🎱

Firebase Realtime Database Rule

태그
Document

Firebase Realtime Database에 저장되는 Chat Schema

가상 상단에 chat-room`chat-user를 둔다.

Firebase Realtime Database Rule

{ "rules": { "chat-user": { ".read": "auth != null", // chat-user에 대한 읽기 권한을 인증된 사용자에게 부여 "$user_id": { ".write": "$user_id === auth.uid" // 사용자는 자신의 정보만 수정할 수 있음 } }, "chat-room": { ".read": "auth != null", // chat-room에 대한 읽기 권한을 인증된 사용자에게 부여 ".write": "auth != null", // chat-room에 대한 쓰기 권한을 인증된 사용자에게 부여 "$room_id": { ".read": "auth != null", // chat-room의 하위 데이터에 대한 읽기 권한을 인증된 사용자에게 부여 ".write": "auth != null", // chat-room의 하위 데이터에 대한 쓰기 권한을 인증된 사용자에게 부여 } } } }
JavaScript
복사
chat-user: 유저 목록에 대한 권한은 로그인 된 유저에게 읽기권한만을 제공한다.
chat-user/{user_id} 유저 정보에 대한 수정은 본인만 가능하도록 한다
chat-room: 채팅 목록에 대한 권한은 로그인 된 유저에게 읽기/쓰기 권한을 제공한다.
chat-room:
Read
Write
비고
chat-user
"auth != null" 로그인된 유저만 유저 목록 조회 가능
X
chat-user/{user_id}
"auth != null" 로그인된 유저만 유저 목록 조회 가능
"$user_id === auth.uid" 본인의 정보만 수정할 수 있음
chat-room
"auth != null" 로그인된 유저만 채팅방 목록 조회 가능
"auth != null" 로그인된 유저만 채팅방 목록 조회 가능
chat-room/{room_id}
"auth != null" 로그인된 유저만 채팅방 세부 내역 조회 가능
"auth != null" 로그인된 유저만 채팅방 목록 조회 가능