【发布时间】:2020-02-15 06:39:24
【问题描述】:
在他完成验证后,我在这里用电话号码调用这个函数,这个函数正在使用自定义声明添加他的号码以满足这个文件库数据库安全规则
{
"rules": {
"Users": {
//".read": true,
//".write": "auth.token.phone == newData.val()",
//".read": "auth.uid != null",
//".write": "newData.child('Personal Details').child('phone').val() === auth.token.phone"
"$userNumber": {
"Personal Details": {
".read": "auth.uid != null",
".write": "auth.token.phone == $userNumber"
},
"Notifications": {
".read": "auth.token.phone === $userNumber",
".write": "auth.uid != null"
},
}
此函数调用后刷新令牌
FirebaseAuth.getInstance().getCurrentUser().getIdToken(true).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
@Override
public void onComplete(@NonNull Task<GetTokenResult> task) {
Log.d("firebaseFunctionCall", "onComplete: token refreshed");
checkUser();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
loadingBar.dismiss();
Log.d("firebaseFunctionCall", "onFailure: failed to refresh error: "+e.getMessage());
}
});
当用户验证他的号码时,我正在这样做,然后他的电话号码也被添加到数据库中
但我收到Database Permission denied 错误。
userRef = FirebaseDatabase.getInstance().getReference().child("Users");
如果需要任何进一步的细节,请询问我。但请帮我解决这个问题。
【问题讨论】:
-
请编辑问题以显示未按您期望的方式工作的客户端查询。
-
我已经编辑了问题
标签: google-cloud-platform google-cloud-firestore firebase-authentication firebase-security