@react-native-firebase/app-check 26.0.0 → 26.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [26.2.0](https://github.com/invertase/react-native-firebase/compare/v26.1.0...v26.2.0) (2026-08-10)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **app-check, ios:** do not install debug provider before configure ([#9166](https://github.com/invertase/react-native-firebase/issues/9166)) ([b7879cd](https://github.com/invertase/react-native-firebase/commit/b7879cdde1c78e80e364ecd8966a9f0f45cd5220))
11
+ - codegen should be wipe-then-regen ([04bc4e4](https://github.com/invertase/react-native-firebase/commit/04bc4e4cdab9870cb366fd212b2ccb331b0289d6))
12
+
13
+ ## [26.1.0](https://github.com/invertase/react-native-firebase/compare/v26.0.0...v26.1.0) (2026-08-03)
14
+
15
+ ### Features
16
+
17
+ - **ios:** add SPM dependency resolution support alongside CocoaPods ([#8933](https://github.com/invertase/react-native-firebase/issues/8933)) ([44a7a9a](https://github.com/invertase/react-native-firebase/commit/44a7a9ae7b404f412e9766c0417f1df8fa971a0b))
18
+
6
19
  ## [26.0.0](https://github.com/invertase/react-native-firebase/compare/v25.1.0...v26.0.0) (2026-07-29)
7
20
 
8
21
  ### ⚠ BREAKING CHANGES
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require_relative '../app/firebase_spm'
2
3
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
3
4
  appPackage = JSON.parse(File.read(File.join('..', 'app', 'package.json')))
4
5
 
@@ -56,7 +57,7 @@ Pod::Spec.new do |s|
56
57
  end
57
58
 
58
59
  # Firebase dependencies
59
- s.dependency 'Firebase/AppCheck', firebase_sdk_version
60
+ firebase_dependency(s, firebase_sdk_version, ['FirebaseAppCheck'], 'Firebase/AppCheck')
60
61
 
61
62
  if defined?($RNFirebaseAsStaticFramework)
62
63
  Pod::UI.puts "#{s.name}: Using overridden static_framework value of '#{$RNFirebaseAsStaticFramework}'"
@@ -100,24 +100,31 @@ class FirebaseAppCheckModule extends FirebaseModule {
100
100
  if (!isBoolean(options.isTokenAutoRefreshEnabled)) {
101
101
  options.isTokenAutoRefreshEnabled = true;
102
102
  }
103
- this.native.setTokenAutoRefreshEnabled(options.isTokenAutoRefreshEnabled);
103
+ const isTokenAutoRefreshEnabled = options.isTokenAutoRefreshEnabled;
104
104
  if (!hasProviderOptions(options.provider)) {
105
105
  throw new Error('Invalid configuration: no provider or no provider options defined.');
106
106
  }
107
107
  const provider = options.provider;
108
+
109
+ // AppCheck-AD-4: attach the real provider before enabling auto-refresh so early
110
+ // refresh does not run while the native facade is still pending.
111
+ let configurePromise;
108
112
  if (Platform.OS === 'android') {
109
113
  if (!isString(provider.providerOptions?.android?.provider)) {
110
114
  throw new Error('Invalid configuration: no android provider configured while on android platform.');
111
115
  }
112
- return this.native.configureProvider(provider.providerOptions.android.provider, provider.providerOptions.android.debugToken);
113
- }
114
- if (Platform.OS === 'ios' || Platform.OS === 'macos') {
116
+ configurePromise = this.native.configureProvider(provider.providerOptions.android.provider, provider.providerOptions.android.debugToken);
117
+ } else if (Platform.OS === 'ios' || Platform.OS === 'macos') {
115
118
  if (!isString(provider.providerOptions?.apple?.provider)) {
116
119
  throw new Error('Invalid configuration: no apple provider configured while on apple platform.');
117
120
  }
118
- return this.native.configureProvider(provider.providerOptions.apple.provider, provider.providerOptions.apple.debugToken);
121
+ configurePromise = this.native.configureProvider(provider.providerOptions.apple.provider, provider.providerOptions.apple.debugToken);
122
+ } else {
123
+ throw new Error('Unsupported platform: ' + Platform.OS);
119
124
  }
120
- throw new Error('Unsupported platform: ' + Platform.OS);
125
+ return Promise.resolve(configurePromise).then(() => {
126
+ this.native.setTokenAutoRefreshEnabled(isTokenAutoRefreshEnabled);
127
+ });
121
128
  }
122
129
  activate(siteKeyOrProvider, isTokenAutoRefreshEnabled) {
123
130
  if (isOther) {
@@ -1 +1 @@
1
- {"version":3,"names":["isBoolean","isIOS","isObject","isString","isUndefined","isOther","parseListenerOrObserver","FirebaseModule","getOrCreateModularInstance","Platform","setReactNativeModule","fallBackModule","version","ReactNativeFirebaseAppCheckProvider","nativeModuleName","VALID_APPLE_PROVIDERS","VALID_ANDROID_PROVIDERS","hasProviderOptions","provider","undefined","providerOptions","validateProviderName","options","OS","name","android","includes","Error","join","apple","FirebaseAppCheckModule","constructor","app","config","customUrlOrRegion","emitter","addListener","eventNameForApp","event","emit","_listenerCount","getIsTokenRefreshEnabledDefault","isTokenAutoRefreshEnabled","newReactNativeFirebaseAppCheckProvider","initializeAppCheck","native","tokenRefresh","firebaseJson","app_check_token_auto_refresh","dataCollection","app_data_collection_default_enabled","setTokenAutoRefreshEnabled","configureProvider","debugToken","activate","siteKeyOrProvider","rnfbProvider","configure","web","siteKey","getToken","forceRefresh","getLimitedUseToken","onTokenChanged","onNextOrObserver","_onError","_onCompletion","console","warn","nextFn","subscription","addAppCheckListener","remove","removeAppCheckListener","namespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","turboModule","SDK_VERSION","CustomProvider","getModularAppCheck","appCheck","appCheckInstance","isAutoRefreshEnabled","onError","onCompletion"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isBoolean","isIOS","isObject","isString","isUndefined","isOther","parseListenerOrObserver","FirebaseModule","getOrCreateModularInstance","Platform","setReactNativeModule","fallBackModule","version","ReactNativeFirebaseAppCheckProvider","nativeModuleName","VALID_APPLE_PROVIDERS","VALID_ANDROID_PROVIDERS","hasProviderOptions","provider","undefined","providerOptions","validateProviderName","options","OS","name","android","includes","Error","join","apple","FirebaseAppCheckModule","constructor","app","config","customUrlOrRegion","emitter","addListener","eventNameForApp","event","emit","_listenerCount","getIsTokenRefreshEnabledDefault","isTokenAutoRefreshEnabled","newReactNativeFirebaseAppCheckProvider","initializeAppCheck","native","tokenRefresh","firebaseJson","app_check_token_auto_refresh","dataCollection","app_data_collection_default_enabled","configurePromise","configureProvider","debugToken","Promise","resolve","then","setTokenAutoRefreshEnabled","activate","siteKeyOrProvider","rnfbProvider","configure","web","siteKey","getToken","forceRefresh","getLimitedUseToken","onTokenChanged","onNextOrObserver","_onError","_onCompletion","console","warn","nextFn","subscription","addAppCheckListener","remove","removeAppCheckListener","namespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","turboModule","SDK_VERSION","CustomProvider","getModularAppCheck","appCheck","appCheckInstance","isAutoRefreshEnabled","onError","onCompletion"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  // Generated by genversion.
4
- export const version = '26.0.0';
4
+ export const version = '26.2.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  import type { FirebaseApp } from '@react-native-firebase/app';
2
2
  import './types/internal';
3
3
  import type { AppCheck, AppCheckOptions, AppCheckTokenResult, PartialObserver, Unsubscribe } from './types/appcheck';
4
- export declare const SDK_VERSION = "26.0.0";
4
+ export declare const SDK_VERSION = "26.2.0";
5
5
  export { CustomProvider, ReactNativeFirebaseAppCheckProvider } from './providers';
6
6
  /**
7
7
  * Initializes App Check for the given Firebase app.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAM9D,OAAO,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EAEf,mBAAmB,EACnB,eAAe,EACf,WAAW,EACZ,MAAM,kBAAkB,CAAC;AA4O1B,eAAO,MAAM,WAAW,WAAU,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC;AAMlF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAQzF;AAED,wBAAgB,QAAQ,CACtB,gBAAgB,EAAE,QAAQ,EAC1B,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE3F;AAED,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,QAAQ,EAC1B,oBAAoB,EAAE,OAAO,GAC5B,IAAI,CAEN;AAED,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,QAAQ,EAC1B,QAAQ,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAC7C,WAAW,CAAC;AAEf,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,EAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,YAAY,CAAC,EAAE,MAAM,IAAI,GACxB,WAAW,CAAC;AAiBf,mBAAmB,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAM9D,OAAO,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EAEf,mBAAmB,EACnB,eAAe,EACf,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAoP1B,eAAO,MAAM,WAAW,WAAU,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC;AAMlF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAQzF;AAED,wBAAgB,QAAQ,CACtB,gBAAgB,EAAE,QAAQ,EAC1B,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE3F;AAED,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,QAAQ,EAC1B,oBAAoB,EAAE,OAAO,GAC5B,IAAI,CAEN;AAED,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,QAAQ,EAC1B,QAAQ,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAC7C,WAAW,CAAC;AAEf,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,EAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,YAAY,CAAC,EAAE,MAAM,IAAI,GACxB,WAAW,CAAC;AAiBf,mBAAmB,kBAAkB,CAAC"}
@@ -22,8 +22,10 @@ export type AppCheckInternal = AppCheck & {
22
22
  initializeAppCheck(options: AppCheckOptions): Promise<void>;
23
23
  /**
24
24
  * Activate App Check
25
- * On iOS App Check is activated with DeviceCheck provider simply by including the module, using the token auto refresh default or
26
- * the specific value (if configured) in firebase.json, but calling this does no harm.
25
+ * On iOS calling this activates App Check with the DeviceCheck provider, using the token auto refresh default or
26
+ * the specific value (if configured) in firebase.json. Before `activate` or `initializeAppCheck` is called, the
27
+ * native App Check provider is pending and `getToken` / `getLimitedUseToken` fail closed with
28
+ * `appCheck/provider-not-ready`.
27
29
  * On Android if you call this it will install the PlayIntegrity provider in release builds, the Debug provider if debuggable.
28
30
  * On both platforms you may use this method to alter the token refresh setting after startup.
29
31
  * On iOS if you want to set a specific AppCheckProviderFactory (for instance to FIRAppCheckDebugProviderFactory or
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,yCAAyC,EACzC,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,KAAK,sBAAsB,GAAG,mBAAmB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,qDAAqD;IACrD,GAAG,EAAE,WAAW,CAAC;IAEjB;;OAEG;IACH,sCAAsC,IAAI,mCAAmC,CAAC;IAE9E;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CACN,iBAAiB,EAAE,MAAM,GAAG,gBAAgB,EAC5C,yBAAyB,CAAC,EAAE,OAAO,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,0BAA0B,CAAC,yBAAyB,EAAE,OAAO,GAAG,IAAI,CAAC;IAErE;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,sBAAsB,CAAC,GAAG,MAAM,IAAI,CAAC;IAE9E;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CACZ,MAAM,EAAE,CAAC,WAAW,EAAE,sBAAsB,KAAK,IAAI,EACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,YAAY,CAAC,EAAE,MAAM,IAAI,GACxB,WAAW,CAAC;IAEf;;OAEG;IACH,cAAc,CACZ,gBAAgB,EACZ,eAAe,CAAC,mBAAmB,CAAC,GACpC,CAAC,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,CAAC,EAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,YAAY,CAAC,EAAE,MAAM,IAAI,GACxB,WAAW,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,mCAAmC,GACnC,yCAAyC,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9D,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEnD,mBAAmB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,sBAAsB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,OAAO,QAAQ,+DAA+D,CAAC;IAC7E,UAAU,gCAAgC;QACxC,uBAAuB,EAAE,kBAAkB,CAAC;KAC7C;CACF"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,yCAAyC,EACzC,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,KAAK,sBAAsB,GAAG,mBAAmB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,qDAAqD;IACrD,GAAG,EAAE,WAAW,CAAC;IAEjB;;OAEG;IACH,sCAAsC,IAAI,mCAAmC,CAAC;IAE9E;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,iBAAiB,EAAE,MAAM,GAAG,gBAAgB,EAC5C,yBAAyB,CAAC,EAAE,OAAO,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,0BAA0B,CAAC,yBAAyB,EAAE,OAAO,GAAG,IAAI,CAAC;IAErE;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,sBAAsB,CAAC,GAAG,MAAM,IAAI,CAAC;IAE9E;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CACZ,MAAM,EAAE,CAAC,WAAW,EAAE,sBAAsB,KAAK,IAAI,EACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,YAAY,CAAC,EAAE,MAAM,IAAI,GACxB,WAAW,CAAC;IAEf;;OAEG;IACH,cAAc,CACZ,gBAAgB,EACZ,eAAe,CAAC,mBAAmB,CAAC,GACpC,CAAC,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,CAAC,EAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,YAAY,CAAC,EAAE,MAAM,IAAI,GACxB,WAAW,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,mCAAmC,GACnC,yCAAyC,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9D,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEnD,mBAAmB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,sBAAsB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,OAAO,QAAQ,+DAA+D,CAAC;IAC7E,UAAU,gCAAgC;QACxC,uBAAuB,EAAE,kBAAkB,CAAC;KAC7C;CACF"}
@@ -1,2 +1,2 @@
1
- export declare const version = "26.0.0";
1
+ export declare const version = "26.2.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -15,8 +15,15 @@
15
15
  *
16
16
  */
17
17
 
18
+ #if __has_include(<Firebase/Firebase.h>)
18
19
  #import <Firebase/Firebase.h>
19
- #import <FirebaseAppCheck/FIRAppCheck.h>
20
+ #elif __has_include(<FirebaseAppCheck/FirebaseAppCheck.h>)
21
+ #import <FirebaseAppCheck/FirebaseAppCheck.h>
22
+ #import <FirebaseCore/FirebaseCore.h>
23
+ #else
24
+ @import FirebaseCore;
25
+ @import FirebaseAppCheck;
26
+ #endif
20
27
 
21
28
  #import <React/RCTInvalidating.h>
22
29
  #import <React/RCTUtils.h>
@@ -117,21 +124,62 @@ RCT_EXPORT_MODULE(NativeRNFBTurboAppCheck)
117
124
  resolve([NSNumber numberWithBool:isTokenAutoRefreshEnabled]);
118
125
  }
119
126
 
127
+ // AppCheck-AD-8: map pending fail-closed to provider-not-ready (not token-error).
128
+ // Walk NSUnderlyingErrorKey because FIRAppCheck wraps non-SDK errors via
129
+ // publicDomainErrorWithError: and drops top-level userInfo[@"code"].
130
+ // Locked message: kRNFBAppCheckProviderNotReadyMessage (RNFBAppCheckProvider.h).
131
+ static NSString *RNFBAppCheckRejectCodeForError(NSError *error) {
132
+ NSError *current = error;
133
+ while (current != nil) {
134
+ id code = current.userInfo[@"code"];
135
+ if ([code isKindOfClass:[NSString class]] && [code isEqualToString:@"provider-not-ready"]) {
136
+ return @"provider-not-ready";
137
+ }
138
+ current = current.userInfo[NSUnderlyingErrorKey];
139
+ if (![current isKindOfClass:[NSError class]]) {
140
+ break;
141
+ }
142
+ }
143
+ return @"token-error";
144
+ }
145
+
146
+ // AppCheck-AD-8 durable path: reject before FIRAppCheck token APIs when the
147
+ // factory-held facade still has a nil delegateProvider (pending / not configured).
148
+ static BOOL RNFBAppCheckRejectIfProviderNotReady(FIRApp *firebaseApp,
149
+ RCTPromiseRejectBlock reject) {
150
+ RNFBAppCheckProviderFactory *factory = [RNFBAppCheckModule sharedInstance].providerFactory;
151
+ RNFBAppCheckProvider *provider = [factory providerForApp:firebaseApp];
152
+ if (provider != nil && provider.delegateProvider != nil) {
153
+ return NO;
154
+ }
155
+ DLog(@"RNFBAppCheck - provider not ready for app %@ (delegateProvider nil)", firebaseApp.name);
156
+ [RNFBSharedUtils rejectPromiseWithUserInfo:reject
157
+ userInfo:(NSMutableDictionary *)@{
158
+ @"code" : @"provider-not-ready",
159
+ @"message" : kRNFBAppCheckProviderNotReadyMessage,
160
+ }];
161
+ return YES;
162
+ }
163
+
120
164
  - (void)getToken:(NSString *)appName
121
165
  forceRefresh:(BOOL)forceRefresh
122
166
  resolve:(RCTPromiseResolveBlock)resolve
123
167
  reject:(RCTPromiseRejectBlock)reject {
124
168
  FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
125
- FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
126
169
  DLog(@"appName %@", firebaseApp.name);
170
+ if (RNFBAppCheckRejectIfProviderNotReady(firebaseApp, reject)) {
171
+ return;
172
+ }
173
+ FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
127
174
  [appCheck
128
175
  tokenForcingRefresh:forceRefresh
129
176
  completion:^(FIRAppCheckToken *_Nullable token, NSError *_Nullable error) {
130
177
  if (error != nil) {
131
178
  DLog(@"RNFBAppCheck - getToken - Unable to retrieve App Check token: %@", error);
179
+ NSString *code = RNFBAppCheckRejectCodeForError(error);
132
180
  [RNFBSharedUtils rejectPromiseWithUserInfo:reject
133
181
  userInfo:(NSMutableDictionary *)@{
134
- @"code" : @"token-error",
182
+ @"code" : code,
135
183
  @"message" : [error localizedDescription],
136
184
  }];
137
185
  return;
@@ -156,15 +204,19 @@ RCT_EXPORT_MODULE(NativeRNFBTurboAppCheck)
156
204
  resolve:(RCTPromiseResolveBlock)resolve
157
205
  reject:(RCTPromiseRejectBlock)reject {
158
206
  FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
159
- FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
160
207
  DLog(@"appName %@", firebaseApp.name);
208
+ if (RNFBAppCheckRejectIfProviderNotReady(firebaseApp, reject)) {
209
+ return;
210
+ }
211
+ FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
161
212
  [appCheck limitedUseTokenWithCompletion:^(FIRAppCheckToken *_Nullable token,
162
213
  NSError *_Nullable error) {
163
214
  if (error != nil) {
164
215
  DLog(@"RNFBAppCheck - getLimitedUseToken - Unable to retrieve App Check token: %@", error);
216
+ NSString *code = RNFBAppCheckRejectCodeForError(error);
165
217
  [RNFBSharedUtils rejectPromiseWithUserInfo:reject
166
218
  userInfo:(NSMutableDictionary *)@{
167
- @"code" : @"token-error",
219
+ @"code" : code,
168
220
  @"message" : [error localizedDescription],
169
221
  }];
170
222
  return;
@@ -15,8 +15,18 @@
15
15
  *
16
16
  */
17
17
 
18
+ #if __has_include(<Firebase/Firebase.h>)
18
19
  #import <Firebase/Firebase.h>
19
- #import <FirebaseAppCheck/FIRAppCheck.h>
20
+ #elif __has_include(<FirebaseAppCheck/FirebaseAppCheck.h>)
21
+ #import <FirebaseAppCheck/FirebaseAppCheck.h>
22
+ #import <FirebaseCore/FirebaseCore.h>
23
+ #else
24
+ @import FirebaseCore;
25
+ @import FirebaseAppCheck;
26
+ #endif
27
+
28
+ // AppCheck-AD-8 locked message (Provider pending error + Module early reject).
29
+ FOUNDATION_EXPORT NSString *const kRNFBAppCheckProviderNotReadyMessage;
20
30
 
21
31
  @interface RNFBAppCheckProvider : NSObject <FIRAppCheckProvider>
22
32
 
@@ -17,6 +17,9 @@
17
17
  #import "RNFBAppCheckProvider.h"
18
18
  #import "RNFBApp/RNFBSharedUtils.h"
19
19
 
20
+ NSString *const kRNFBAppCheckProviderNotReadyMessage =
21
+ @"App Check provider is not ready. Call initializeAppCheck before requesting tokens.";
22
+
20
23
  @implementation RNFBAppCheckProvider
21
24
 
22
25
  - (id)initWithApp:app {
@@ -85,14 +88,35 @@
85
88
  }
86
89
  }
87
90
 
91
+ // AppCheck-AD-8: fail closed while pending — no network / no exchangeDebugToken.
92
+ static NSError *RNFBAppCheckProviderNotReadyError(void) {
93
+ return [NSError errorWithDomain:@"RNFBErrorDomain"
94
+ code:666
95
+ userInfo:@{
96
+ @"code" : @"provider-not-ready",
97
+ @"message" : kRNFBAppCheckProviderNotReadyMessage,
98
+ NSLocalizedDescriptionKey : kRNFBAppCheckProviderNotReadyMessage,
99
+ }];
100
+ }
101
+
88
102
  - (void)getTokenWithCompletion:(nonnull void (^)(FIRAppCheckToken *_Nullable,
89
103
  NSError *_Nullable))handler {
104
+ if (self.delegateProvider == nil) {
105
+ DLog(@"getTokenWithCompletion: provider not ready (nil delegateProvider)");
106
+ handler(nil, RNFBAppCheckProviderNotReadyError());
107
+ return;
108
+ }
90
109
  DLog(@"proxying getTokenWithCompletion to delegateProvider...");
91
110
  [self.delegateProvider getTokenWithCompletion:handler];
92
111
  }
93
112
 
94
113
  - (void)getLimitedUseTokenWithCompletion:(nonnull void (^)(FIRAppCheckToken *_Nullable,
95
114
  NSError *_Nullable))handler {
115
+ if (self.delegateProvider == nil) {
116
+ DLog(@"getLimitedUseTokenWithCompletion: provider not ready (nil delegateProvider)");
117
+ handler(nil, RNFBAppCheckProviderNotReadyError());
118
+ return;
119
+ }
96
120
  DLog(@"proxying getLimitedUseTokenWithCompletion to delegateProvider...");
97
121
  [self.delegateProvider getLimitedUseTokenWithCompletion:handler];
98
122
  }
@@ -25,4 +25,7 @@
25
25
  providerName:(NSString *_Nonnull)providerName
26
26
  debugToken:(NSString *_Nullable)debugToken;
27
27
 
28
+ /** Returns the factory-held facade for `app`, or nil if none exists yet. */
29
+ - (RNFBAppCheckProvider *_Nullable)providerForApp:(FIRApp *_Nonnull)app;
30
+
28
31
  @end
@@ -23,19 +23,18 @@
23
23
  - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(FIRApp *)app {
24
24
  DLog(@"appName %@", app.name);
25
25
 
26
- // The SDK may try to call this before we have been configured,
27
- // so we will configure ourselves and set the provider up as a default to start
28
- // pre-configure
26
+ // Firebase may call this during FirebaseApp.configure() before JS runs
27
+ // configureProvider. Install a pending facade only (AppCheck-AD-1).
29
28
  if (self.providers == nil) {
30
29
  DLog(@"providers dictionary initializing for app %@", app.name);
31
30
  self.providers = [NSMutableDictionary new];
32
31
  }
33
32
 
34
33
  if (self.providers[app.name] == nil) {
35
- DLog(@"provider initializing (with default to debug) for app %@", app.name);
34
+ // AppCheck-AD-1 / AD-2: facade only until configureProvider; no real provider
35
+ // (debug/App Attest/etc.) before JS/native configure. Same path DEBUG and release.
36
+ DLog(@"provider initializing (pending, no delegate) for app %@", app.name);
36
37
  self.providers[app.name] = [RNFBAppCheckProvider new];
37
- RNFBAppCheckProvider *provider = self.providers[app.name];
38
- [provider configure:app providerName:@"debug" debugToken:nil];
39
38
  }
40
39
 
41
40
  return self.providers[app.name];
@@ -58,4 +57,11 @@
58
57
  [provider configure:app providerName:providerName debugToken:debugToken];
59
58
  }
60
59
 
60
+ - (RNFBAppCheckProvider *)providerForApp:(FIRApp *)app {
61
+ if (app == nil || self.providers == nil) {
62
+ return nil;
63
+ }
64
+ return self.providers[app.name];
65
+ }
66
+
61
67
  @end
package/lib/index.ts CHANGED
@@ -152,35 +152,43 @@ class FirebaseAppCheckModule extends FirebaseModule<typeof nativeModuleName> {
152
152
  if (!isBoolean(options.isTokenAutoRefreshEnabled)) {
153
153
  options.isTokenAutoRefreshEnabled = true;
154
154
  }
155
- this.native.setTokenAutoRefreshEnabled(options.isTokenAutoRefreshEnabled);
155
+ const isTokenAutoRefreshEnabled = options.isTokenAutoRefreshEnabled as boolean;
156
156
 
157
157
  if (!hasProviderOptions(options.provider)) {
158
158
  throw new Error('Invalid configuration: no provider or no provider options defined.');
159
159
  }
160
160
  const provider = options.provider;
161
+
162
+ // AppCheck-AD-4: attach the real provider before enabling auto-refresh so early
163
+ // refresh does not run while the native facade is still pending.
164
+ let configurePromise: Promise<void>;
161
165
  if (Platform.OS === 'android') {
162
166
  if (!isString(provider.providerOptions?.android?.provider)) {
163
167
  throw new Error(
164
168
  'Invalid configuration: no android provider configured while on android platform.',
165
169
  );
166
170
  }
167
- return this.native.configureProvider(
171
+ configurePromise = this.native.configureProvider(
168
172
  provider.providerOptions.android.provider,
169
173
  provider.providerOptions.android.debugToken,
170
174
  );
171
- }
172
- if (Platform.OS === 'ios' || Platform.OS === 'macos') {
175
+ } else if (Platform.OS === 'ios' || Platform.OS === 'macos') {
173
176
  if (!isString(provider.providerOptions?.apple?.provider)) {
174
177
  throw new Error(
175
178
  'Invalid configuration: no apple provider configured while on apple platform.',
176
179
  );
177
180
  }
178
- return this.native.configureProvider(
181
+ configurePromise = this.native.configureProvider(
179
182
  provider.providerOptions.apple.provider,
180
183
  provider.providerOptions.apple.debugToken,
181
184
  );
185
+ } else {
186
+ throw new Error('Unsupported platform: ' + Platform.OS);
182
187
  }
183
- throw new Error('Unsupported platform: ' + Platform.OS);
188
+
189
+ return Promise.resolve(configurePromise).then(() => {
190
+ this.native.setTokenAutoRefreshEnabled(isTokenAutoRefreshEnabled);
191
+ });
184
192
  }
185
193
 
186
194
  activate(
@@ -33,8 +33,10 @@ export type AppCheckInternal = AppCheck & {
33
33
 
34
34
  /**
35
35
  * Activate App Check
36
- * On iOS App Check is activated with DeviceCheck provider simply by including the module, using the token auto refresh default or
37
- * the specific value (if configured) in firebase.json, but calling this does no harm.
36
+ * On iOS calling this activates App Check with the DeviceCheck provider, using the token auto refresh default or
37
+ * the specific value (if configured) in firebase.json. Before `activate` or `initializeAppCheck` is called, the
38
+ * native App Check provider is pending and `getToken` / `getLimitedUseToken` fail closed with
39
+ * `appCheck/provider-not-ready`.
38
40
  * On Android if you call this it will install the PlayIntegrity provider in release builds, the Debug provider if debuggable.
39
41
  * On both platforms you may use this method to alter the token refresh setting after startup.
40
42
  * On iOS if you want to set a specific AppCheckProviderFactory (for instance to FIRAppCheckDebugProviderFactory or
package/lib/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '26.0.0';
2
+ export const version = '26.2.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-firebase/app-check",
3
- "version": "26.0.0",
3
+ "version": "26.2.0",
4
4
  "author": "Invertase <oss@invertase.io> (http://invertase.io)",
5
5
  "description": "React Native Firebase - App Check",
6
6
  "main": "./dist/module/index.js",
@@ -27,8 +27,8 @@
27
27
  "compile": "bob build",
28
28
  "prepare": "yarn run build && yarn compile && yarn run build:plugin",
29
29
  "codegen": "yarn android:codegen && yarn ios:codegen",
30
- "android:codegen": "npx @react-native-community/cli codegen --platform android --outputPath=./android/src/main/java/io/invertase/firebase/appcheck/generated",
31
- "ios:codegen": "npx @react-native-community/cli codegen --platform ios --outputPath=./ios/generated"
30
+ "android:codegen": "rimraf android/src/main/java/io/invertase/firebase/appcheck/generated && npx @react-native-community/cli codegen --platform android --outputPath=./android/src/main/java/io/invertase/firebase/appcheck/generated",
31
+ "ios:codegen": "rimraf ios/generated && npx @react-native-community/cli codegen --platform ios --outputPath=./ios/generated"
32
32
  },
33
33
  "repository": {
34
34
  "type": "git",
@@ -43,11 +43,11 @@
43
43
  "appCheck"
44
44
  ],
45
45
  "peerDependencies": {
46
- "@react-native-firebase/app": "26.0.0",
46
+ "@react-native-firebase/app": "26.2.0",
47
47
  "expo": ">=47.0.0"
48
48
  },
49
49
  "devDependencies": {
50
- "@react-native-firebase/app": "26.0.0",
50
+ "@react-native-firebase/app": "26.2.0",
51
51
  "expo": "^55.0.18",
52
52
  "react-native-builder-bob": "^0.41.0",
53
53
  "typescript": "^6.0.3"
@@ -99,5 +99,5 @@
99
99
  "node_modules/",
100
100
  "dist/"
101
101
  ],
102
- "gitHead": "2a360acb2aebdd39dd40e31be386b30697270626"
102
+ "gitHead": "b7efa8ca2781b5102975ee5169ee6fc52e9c1588"
103
103
  }
@@ -121,8 +121,9 @@ function modifySwiftAppDelegate(contents) {
121
121
  FirebaseApp.configure()
122
122
  `);
123
123
  }
124
- // If Firebase initialization block not found, add both Firebase and App Check initialization
125
- // This is to make sure Firebase is initialized before App Check
124
+ // If Firebase initialization block not found, register the App Check provider factory
125
+ // then call FirebaseApp.configure(). Firebase requires the factory before configure
126
+ // (AppCheck-AD-3); do not reverse this order.
126
127
  const methodInvocationBlock = `RNFBAppCheckModule.sharedInstance()
127
128
  FirebaseApp.configure()`;
128
129
  const methodInvocationLineMatcher = /(?:factory\.startReactNative\()/;
@@ -141,8 +141,9 @@ export function modifySwiftAppDelegate(contents: string): string {
141
141
  );
142
142
  }
143
143
 
144
- // If Firebase initialization block not found, add both Firebase and App Check initialization
145
- // This is to make sure Firebase is initialized before App Check
144
+ // If Firebase initialization block not found, register the App Check provider factory
145
+ // then call FirebaseApp.configure(). Firebase requires the factory before configure
146
+ // (AppCheck-AD-3); do not reverse this order.
146
147
  const methodInvocationBlock = `RNFBAppCheckModule.sharedInstance()
147
148
  FirebaseApp.configure()`;
148
149