Répondre

1

Il n'y a actuellement aucun moyen d'accéder à différents produits Firebase à l'intérieur des règles de sécurité d'un autre produit. Voir: is there a way to authenticate user role in firebase storage rules?

Mais il semble que vous essayez de vérifier l'appartenance à un groupe de l'utilisateur. Au lieu de rechercher cette appartenance à un groupe dans la base de données, je recommande que vous la modélisiez comme une revendication personnalisée. Au lieu de (ou en plus) d'écrire les membres à la base de données, vous aurez set the claim "user {uid} is a member of group {guild1}" into the user profile using the Firebase Admin SDK:

admin.auth().setCustomUserClaims(uid, {guild1: true}).then(() => { 
    // The new custom claims will propagate to the user's ID token the 
    // next time a new one is issued. 
}); 

Cela fait, vous pouvez vérifier les membres de la guilde dans les règles de sécurité:

allow read: if request.auth.token.guild1 == true; 

(Je ne suis pas sûr si/comment vous pouvez modéliser l'appartenance de la guilde comme une carte, je mettrai à jour cette réponse si cela s'avère être le cas.)

+0

va essayer de remplir les revendications personnalisées basées sur la base de données en utilisant des déclencheurs firestore cloud et verra si cela fait – Remi