Я блокирую пользователей, добавляя к их токену облачные функции
exports.blockUser = functions.https.onCall(async(data, context) => {
const user = await admin.auth().getUserByEmail(data['email']);
if(context.auth.token.admin){
admin.auth().setCustomUserClaims(user.uid, {
block: true
});
console.log(data['email'] + " has been blocked");
return 1;
}else{
return 2;
}});
В моих правилах я установил разрешение на чтение, если блок == ноль, потому что пользователи, которые не заблокированы, не будут иметь эти данныена их токене.
allow read: if request.auth.token.block == null;
Однако это не работает, и в разрешении отказано.
Я пробовал наоборот, только чтобы убедиться, что данные токена существуют
allow read: if request.auth.token.block == true;
Это позволило только пользователям блокировать возможность чтения данных.и это работает.что означает, что с данными на токене нет проблем.
Что можно сделать, чтобы пользователи, у которых на свой токене не было свойства block, могли читать данные?