2

내 firebase 규칙을 강화하면서 몇 가지 조언이나 가능한 해결책을 찾고 있습니다. UID입니다 서명 된 정수가 될 계정이 생성 획기적인 타임 스탬프 것페이스 북을 통한 Firebase 규칙 인증 및 고유 ID

users 
    |_male 
     |_uid 

    |_female 
     |_uid 

:

이 중포 기지 내 사용자 트리입니다. 난 단지 사용자가 자신의 나무에 읽기/쓰기 할

"users": { 
     "male":{ 
      ".indexOn": ["uid"] 
     }, 
     "female":{ 
     ".indexOn": ["uid"] 
     }, 
     ".read": "auth != null && auth.provider === 'facebook'", 
     ".write": "auth != null && auth.provider === 'facebook'" 
}, 

를 들어, :

은 읽거나 사용자에게 쓰기 전에 기본적으로 사용자를 보장 중포 기지 규칙에 기록하고 페이스 북으로 인증 된 있습니다 예 :

users->male->uid->1233254... 

위의 규칙을 두려워하고 잠재적으로 다른 사용자 트리에서 읽고 쓸 수 있습니다.

앱 UID와 페이스 북의 UID를 비교할 수 있다면 좋을 것입니다. 사람이 어떤 아이디어가있는 경우, I가

"user_fbuid": { 
     "fbuid":{ 
     "$fbuid": { 
      ".indexOn": ["fbuid"], 
      ".read": "$fbuid === auth.uid && auth.provider === 'facebook'", 
      ".write": "$fbuid === auth.uid && auth.provider === 'facebook'" 
     } 
    }, 
}, 

싶어요 : 나는 auth.uid에 대해 확인 여기에 더 나은 규칙을 가지고 않습니다

user_fbuid 
     |_fbuid 
       |_facebook:a1244dxs 
           |_uid 

: 나는 데이터베이스 등의 다른 나무에서이 내용을 캡처 할 듣다. 감사합니다

답변

0

난 내 자신의 UID로 페이스 북의 id 속성을 사용하여 종료 및 규칙 아래 :

"$uid": { 
      // only the user can read and write to their tree 
      ".read": "auth != null && auth.provider === 'facebook' && auth.token.firebase.identities['facebook.com'][0] === $uid", 
      ".write": "auth != null && auth.provider === 'facebook' && auth.token.firebase.identities['facebook.com'][0] === $uid" 
     },