Я пытаюсь написать приложение, и у меня есть проблема безопасности, которую я не могу решить, и мне нужна помощь.Я использую аутентификацию телефона пользователя на firebase, и она работает нормально.Теперь я хочу, чтобы пользователю auth был предоставлен идентификатор для сохранения в базе данных, и он работает.
Но проблема в том, что я использую этот код для записи в базу данных для нового пользователя:
{
"rules": {
".write": "auth == null ",
".read": "auth == null "
}
}
этот код предназначен для регистрации нового пользователя:
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
Firebase Ref = new Firebase( "database address" );
Firebase usersRef = Ref.child( "Users" ).child( "user_id" );
usersRef.setValue( user.getUid() );
когда я использую это правило. Проверка подлинности запрещена:
{
"rules": {
".write": "auth != null ",
".read": "auth != null "
}
}
, но мой пользователь уже зарегистрирован, и я получаю его идентификатор и форму телефонаАутентификация пользователя, как я могу решить эту проблему безопасности?
D/FirebaseAuth: Notifying id token listeners about user ( b3bizXzmH7XQfXWNvHCMVXzDHSx2 ).
D/FirebaseApp: Notifying auth state listeners.
D/FirebaseApp: Notified 0 auth state listeners.
D/PhoneAuthActivity: signInWithCredential:success
D/FirebaseAuth: Notifying id token listeners about user ( b3bizXzmH7XQfXWNvHCMVXzDHSx2 ).
D/FirebaseApp: Notifying auth state listeners.
Notified 0 auth state listeners.
D/PhoneAuthActivity: signInWithCredential:success
W/RepoOperation: setValue at /Users/user_id failed: FirebaseError: Permission denied
W/RepoOperation: setValue at /Users/user_id failed: FirebaseError: Permission denied
D/FirebaseAuth: Notifying id token listeners about user ( b3bizXzmH7XQfXWNvHCMVXzDHSx2 ).
D/FirebaseApp: Notifying auth state listeners.
D/FirebaseApp: Notified 0 auth state listeners.
D/PhoneAuthActivity: signInWithCredential:success
W/RepoOperation: setValue at /Users/user_id failed: FirebaseError: Permission denied