diff --git a/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/DebugAppCheckProviderFactory.java b/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/DebugAppCheckProviderFactory.java index a2f4b148439..34f6ceff7ca 100644 --- a/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/DebugAppCheckProviderFactory.java +++ b/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/DebugAppCheckProviderFactory.java @@ -27,6 +27,7 @@ public class DebugAppCheckProviderFactory implements AppCheckProviderFactory { private static final DebugAppCheckProviderFactory instance = new DebugAppCheckProviderFactory(); + private static String _debugSecret; private DebugAppCheckProviderFactory() {} @@ -40,11 +41,20 @@ private DebugAppCheckProviderFactory() {} public static DebugAppCheckProviderFactory getInstance() { return instance; } + @NonNull + public static DebugAppCheckProviderFactory getInstance(String debugSecret) { + _debugSecret = debugSecret; + return instance; + } @NonNull @Override @SuppressWarnings("FirebaseUseExplicitDependencies") public AppCheckProvider create(@NonNull FirebaseApp firebaseApp) { - return firebaseApp.get(DebugAppCheckProvider.class); + DebugAppCheckProvider debugAppCheckProvider = firebaseApp.get(DebugAppCheckProvider.class); + if (_debugSecret != null && !_debugSecret.isEmpty()) { + debugAppCheckProvider.setDebugSecret(_debugSecret); + } + return debugAppCheckProvider; } } diff --git a/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java b/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java index 443b126db92..857c8c9f5ed 100644 --- a/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java +++ b/appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java @@ -83,6 +83,16 @@ public DebugAppCheckProvider( this.debugSecretTask = Tasks.forResult(debugSecret); } + @VisibleForTesting + @NonNull + void setDebugSecret(@NonNull String debugSecret) { + + StorageHelper storageHelper = + new StorageHelper( + firebaseApp.getApplicationContext(), firebaseApp.getPersistenceKey()); + storageHelper.saveDebugSecret(debugSecret); + } + @VisibleForTesting @NonNull static Task determineDebugSecret(