Firebase Api Key можно использовать в другом приложении (декомпилированный APK) - PullRequest
0 голосов
/ 20 ноября 2018

Мы планировали использовать анонимную аутентификацию Firebase и базу данных в реальном времени для нашего приложения для Android.Затем мы хотели попробовать, можно ли использовать наш ключ Firebase Api в другом приложении для доступа к нашей базе данных, и мы создали поддельное приложение с тем же именем пакета, поместили в него существующий ключ Firebase Api и подписали его новым ключом Sign.,Как только мы запустили его, он смог получить доступ к нашим предыдущим приложениям.(Поскольку ключ Firebase Api можно легко извлечь из apk, мы хотели смоделировать одно и то же действие)

Несмотря на то, что в большинстве ответов говорится, что Firebase проверяет подпись приложения, мы смогли получить доступ к базе данных с помощьюсовершенно другой APK.

Чего-то не хватает на стороне конфигурации Firebase?

Редактировать:

Что я делал шаг за шагом:

1) Создан новый проект Android с тем же именем пакета, что и существующий.

2) Поместите google-services.json существующего проекта в новый проект

3) Написали следующий код в новый проект

final FirebaseAuth mAuth;
mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();

final String TAG = "AuthTest";
mAuth.signInAnonymously()
   .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
    if (task.isSuccessful()) {
        // Sign in success, update UI with the signed-in user's information
        Log.d(TAG, "signInAnonymously:success");
        FirebaseUser user = mAuth.getCurrentUser();
    } else {
        // If sign in fails, display a message to the user.
        Log.w(TAG, "signInAnonymously:failure", task.getException());


    }
}
});

4) Подписали APK с полностьюновый ключ подписи

5) Запустите приложение на устройстве.

Результат : анонимный пользователь был создан в нашем существующем проекте Firebase

...