Мне нужно предоставить доступ для чтения/записи только для аутентифицированных пользователей, но, похоже, Firebase не признает, что пользователь аутентифицирован.Ошибка Firebase: разрешение отклонено. Невозможно прочитать/записать из базы данных Firebase
После того, как я зарегистрирую пользователя с почтой и паролем, я предполагаю, что пользователь аутентифицирован и ему разрешено читать/писать из базы данных. Однако разрешение отклонено.
Вот код для знака в деятельности:
firebaseAuth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
//checking if success
if(task.isSuccessful()){
//display some message here
// Toast.makeText(Register.this,"Successfully registered",Toast.LENGTH_LONG).show();
sRef.authWithPassword(email,password,new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
Toast.makeText(Register.this, user.getDisplayName()+" is authenticated",Toast.LENGTH_LONG).show();
}
@Override
public void onAuthenticationError(FirebaseError firebaseError) {
}
});
Intent i = new Intent(Register.this,MainActivity.class);
startActivity(i);
}else{
//display some message here
Toast.makeText(Register.this, task.getException().getMessage(),Toast.LENGTH_LONG).show();
}
}
});
Я хочу использовать правило по умолчанию в firebase, что позволяет только аутентификации пользователей для чтения/записи из базы данных:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Но когда Я изменяю правила, так как ниже мой код может получить доступ для чтения/записи к базе данных.
{
"rules": {
".read": true,
".write":true
}
}
Это хорошо в тестировании, однако я не могу продолжать производство с помощью этого метода. Пожалуйста, помогите, как аутентифицировать зарегистрированного пользователя для доступа к базе данных в Firebase.
Ни один из кода, который вы использовали, не обращается к базе данных, поэтому он еще не может повысить эту ошибку. Пожалуйста, поделитесь [минимальным, полным кодом, который необходим для воспроизведения проблемы] (http://stackoverflow.com/help/mcve). –
Включили ли вы способ входа в систему firbase, например, адрес электронной почты или пароль или анонимный в разделе auth перед входом в систему. –
Я не использовал код для доступа к базе данных firebase, поскольку он работает, но только когда я изменяю правила для публики. Когда я использую правила по умолчанию, разрешение отклоняется. –