@react-native-firebase/app-check 23.6.0 → 23.8.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/dist/commonjs/ReactNativeFirebaseAppCheckProvider.js +19 -0
- package/dist/commonjs/ReactNativeFirebaseAppCheckProvider.js.map +1 -0
- package/dist/commonjs/index.js +38 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/modular.js +124 -0
- package/dist/commonjs/modular.js.map +1 -0
- package/dist/commonjs/namespaced.js +212 -0
- package/dist/commonjs/namespaced.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/types/appcheck.js +93 -0
- package/dist/commonjs/types/appcheck.js.map +1 -0
- package/dist/commonjs/version.js +9 -0
- package/dist/commonjs/version.js.map +1 -0
- package/dist/commonjs/web/RNFBAppCheckModule.android.js +9 -0
- package/dist/commonjs/web/RNFBAppCheckModule.android.js.map +2 -0
- package/dist/commonjs/web/RNFBAppCheckModule.ios.js +9 -0
- package/dist/commonjs/web/RNFBAppCheckModule.ios.js.map +2 -0
- package/dist/commonjs/web/RNFBAppCheckModule.js +97 -0
- package/dist/commonjs/web/RNFBAppCheckModule.js.map +1 -0
- package/dist/module/ReactNativeFirebaseAppCheckProvider.js +14 -0
- package/dist/module/ReactNativeFirebaseAppCheckProvider.js.map +1 -0
- package/{ios/RNFBAppCheck/RNFBAppCheckModule.h → dist/module/index.js} +10 -12
- package/dist/module/index.js.map +1 -0
- package/dist/module/modular.js +110 -0
- package/dist/module/modular.js.map +1 -0
- package/{lib/index.js → dist/module/namespaced.js} +50 -80
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/types/appcheck.js +89 -0
- package/dist/module/types/appcheck.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/module/web/RNFBAppCheckModule.android.js +5 -0
- package/dist/module/web/RNFBAppCheckModule.android.js.map +2 -0
- package/dist/module/web/RNFBAppCheckModule.ios.js +5 -0
- package/dist/module/web/RNFBAppCheckModule.ios.js.map +2 -0
- package/dist/module/web/RNFBAppCheckModule.js +88 -0
- package/dist/module/web/RNFBAppCheckModule.js.map +1 -0
- package/dist/typescript/commonjs/lib/ReactNativeFirebaseAppCheckProvider.d.ts +8 -0
- package/dist/typescript/commonjs/lib/ReactNativeFirebaseAppCheckProvider.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/index.d.ts +5 -0
- package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/modular.d.ts +57 -0
- package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts +17 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
- package/{lib/index.d.ts → dist/typescript/commonjs/lib/types/appcheck.d.ts} +162 -221
- package/dist/typescript/commonjs/lib/types/appcheck.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/version.d.ts +2 -0
- package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.android.d.ts +3 -0
- package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.android.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.d.ts +18 -0
- package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.ios.d.ts +3 -0
- package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.ios.d.ts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/module/lib/ReactNativeFirebaseAppCheckProvider.d.ts +8 -0
- package/dist/typescript/module/lib/ReactNativeFirebaseAppCheckProvider.d.ts.map +1 -0
- package/dist/typescript/module/lib/index.d.ts +5 -0
- package/dist/typescript/module/lib/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/modular.d.ts +57 -0
- package/dist/typescript/module/lib/modular.d.ts.map +1 -0
- package/dist/typescript/module/lib/namespaced.d.ts +17 -0
- package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/appcheck.d.ts +299 -0
- package/dist/typescript/module/lib/types/appcheck.d.ts.map +1 -0
- package/dist/typescript/module/lib/version.d.ts +2 -0
- package/dist/typescript/module/lib/version.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAppCheckModule.android.d.ts +3 -0
- package/dist/typescript/module/lib/web/RNFBAppCheckModule.android.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAppCheckModule.d.ts +18 -0
- package/dist/typescript/module/lib/web/RNFBAppCheckModule.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAppCheckModule.ios.d.ts +3 -0
- package/dist/typescript/module/lib/web/RNFBAppCheckModule.ios.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/lib/ReactNativeFirebaseAppCheckProvider.ts +21 -0
- package/lib/index.ts +46 -0
- package/lib/modular.ts +157 -0
- package/lib/namespaced.ts +305 -0
- package/lib/types/appcheck.ts +386 -0
- package/lib/version.ts +2 -0
- package/lib/web/RNFBAppCheckModule.android.ts +4 -0
- package/lib/web/RNFBAppCheckModule.ios.ts +4 -0
- package/lib/web/RNFBAppCheckModule.ts +115 -0
- package/package.json +64 -8
- package/tsconfig.json +21 -0
- package/CHANGELOG.md +0 -769
- package/RNFBAppCheck.podspec +0 -50
- package/android/.editorconfig +0 -10
- package/android/build.gradle +0 -110
- package/android/lint.xml +0 -5
- package/android/settings.gradle +0 -1
- package/android/src/main/AndroidManifest.xml +0 -7
- package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckModule.java +0 -281
- package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckPackage.java +0 -41
- package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckProvider.java +0 -97
- package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckProviderFactory.java +0 -67
- package/app.plugin.js +0 -1
- package/ios/RNFBAppCheck/RNFBAppCheckModule.m +0 -171
- package/ios/RNFBAppCheck/RNFBAppCheckProvider.h +0 -33
- package/ios/RNFBAppCheck/RNFBAppCheckProvider.m +0 -90
- package/ios/RNFBAppCheck/RNFBAppCheckProviderFactory.h +0 -28
- package/ios/RNFBAppCheck/RNFBAppCheckProviderFactory.m +0 -61
- package/ios/RNFBAppCheck.xcodeproj/project.pbxproj +0 -349
- package/ios/RNFBAppCheck.xcodeproj/xcshareddata/IDETemplateMacros.plist +0 -24
- package/lib/ReactNativeFirebaseAppCheckProvider.js +0 -9
- package/lib/modular/index.d.ts +0 -149
- package/lib/modular/index.js +0 -102
- package/lib/version.js +0 -2
- package/plugin/build/index.d.ts +0 -3
- package/plugin/build/index.js +0 -15
- package/plugin/build/ios/appDelegate.d.ts +0 -6
- package/plugin/build/ios/appDelegate.js +0 -137
- package/plugin/build/ios/index.d.ts +0 -2
- package/plugin/build/ios/index.js +0 -5
- package/plugin/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getApp,
|
|
3
|
+
initializeAppCheck,
|
|
4
|
+
getToken,
|
|
5
|
+
getLimitedUseToken,
|
|
6
|
+
setTokenAutoRefreshEnabled,
|
|
7
|
+
CustomProvider,
|
|
8
|
+
onTokenChanged,
|
|
9
|
+
makeIDBAvailable,
|
|
10
|
+
} from '@react-native-firebase/app/lib/internal/web/firebaseAppCheck';
|
|
11
|
+
import { guard, emitEvent } from '@react-native-firebase/app/lib/internal/web/utils';
|
|
12
|
+
import type { FirebaseAppCheckTypes } from '../types/appcheck';
|
|
13
|
+
|
|
14
|
+
let appCheckInstances: Record<string, any> = {};
|
|
15
|
+
let listenersForApp: Record<string, () => void> = {};
|
|
16
|
+
|
|
17
|
+
function getAppCheckInstanceForApp(appName: string): any {
|
|
18
|
+
if (!appCheckInstances[appName]) {
|
|
19
|
+
throw new Error(
|
|
20
|
+
`firebase AppCheck instance for app ${appName} has not been initialized, ensure you have called initializeAppCheck() first.`,
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
return appCheckInstances[appName];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
interface AppCheckModule {
|
|
27
|
+
initializeAppCheck(
|
|
28
|
+
appName: string,
|
|
29
|
+
options: FirebaseAppCheckTypes.AppCheckOptions,
|
|
30
|
+
): Promise<void>;
|
|
31
|
+
setTokenAutoRefreshEnabled(appName: string, isTokenAutoRefreshEnabled: boolean): Promise<void>;
|
|
32
|
+
getLimitedUseToken(appName: string): Promise<FirebaseAppCheckTypes.AppCheckTokenResult>;
|
|
33
|
+
getToken(
|
|
34
|
+
appName: string,
|
|
35
|
+
forceRefresh: boolean,
|
|
36
|
+
): Promise<FirebaseAppCheckTypes.AppCheckTokenResult>;
|
|
37
|
+
addAppCheckListener(appName: string): Promise<void>;
|
|
38
|
+
removeAppCheckListener(appName: string): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* This is a 'NativeModule' for the web platform.
|
|
43
|
+
* Methods here are identical to the ones found in
|
|
44
|
+
* the native android/ios modules e.g. `@ReactMethod` annotated
|
|
45
|
+
* java methods on Android.
|
|
46
|
+
*/
|
|
47
|
+
const module: AppCheckModule = {
|
|
48
|
+
initializeAppCheck(appName: string, options: FirebaseAppCheckTypes.AppCheckOptions) {
|
|
49
|
+
makeIDBAvailable();
|
|
50
|
+
return guard(async () => {
|
|
51
|
+
if (appCheckInstances[appName]) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const { provider, isTokenAutoRefreshEnabled } = options;
|
|
55
|
+
const _provider = new CustomProvider({
|
|
56
|
+
getToken() {
|
|
57
|
+
if ('getToken' in provider && typeof provider.getToken === 'function') {
|
|
58
|
+
return provider.getToken();
|
|
59
|
+
}
|
|
60
|
+
throw new Error('Provider does not have a getToken method');
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
appCheckInstances[appName] = initializeAppCheck(getApp(appName), {
|
|
64
|
+
provider: _provider,
|
|
65
|
+
isTokenAutoRefreshEnabled,
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
setTokenAutoRefreshEnabled(appName: string, isTokenAutoRefreshEnabled: boolean) {
|
|
70
|
+
return guard(async () => {
|
|
71
|
+
const instance = getAppCheckInstanceForApp(appName);
|
|
72
|
+
setTokenAutoRefreshEnabled(instance, isTokenAutoRefreshEnabled);
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
getLimitedUseToken(appName: string) {
|
|
76
|
+
return guard(async () => {
|
|
77
|
+
const instance = getAppCheckInstanceForApp(appName);
|
|
78
|
+
return getLimitedUseToken(instance);
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
getToken(appName: string, forceRefresh: boolean) {
|
|
82
|
+
return guard(async () => {
|
|
83
|
+
const instance = getAppCheckInstanceForApp(appName);
|
|
84
|
+
return getToken(instance, forceRefresh);
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
addAppCheckListener(appName: string) {
|
|
88
|
+
return guard(async () => {
|
|
89
|
+
if (listenersForApp[appName]) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const instance = getAppCheckInstanceForApp(appName);
|
|
93
|
+
listenersForApp[appName] = onTokenChanged(
|
|
94
|
+
instance,
|
|
95
|
+
(tokenResult: FirebaseAppCheckTypes.AppCheckTokenResult) => {
|
|
96
|
+
emitEvent('appCheck_token_changed', {
|
|
97
|
+
appName,
|
|
98
|
+
...tokenResult,
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
);
|
|
102
|
+
});
|
|
103
|
+
},
|
|
104
|
+
removeAppCheckListener(appName: string) {
|
|
105
|
+
return guard(async () => {
|
|
106
|
+
if (!listenersForApp[appName]) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
listenersForApp[appName]();
|
|
110
|
+
delete listenersForApp[appName];
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export default module;
|
package/package.json
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-firebase/app-check",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.8.0",
|
|
4
4
|
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
|
|
5
5
|
"description": "React Native Firebase - App Check",
|
|
6
|
-
"main": "
|
|
7
|
-
"
|
|
6
|
+
"main": "./dist/commonjs/index.js",
|
|
7
|
+
"module": "./dist/module/index.js",
|
|
8
|
+
"types": "./dist/typescript/commonjs/lib/index.d.ts",
|
|
8
9
|
"scripts": {
|
|
9
|
-
"build": "genversion --semi lib/version.
|
|
10
|
+
"build": "genversion --esm --semi lib/version.ts",
|
|
10
11
|
"build:clean": "rimraf android/build && rimraf ios/build",
|
|
11
12
|
"build:plugin": "rimraf plugin/build && tsc --build plugin",
|
|
12
13
|
"lint:plugin": "eslint plugin/src/*",
|
|
13
|
-
"
|
|
14
|
+
"compile": "bob build",
|
|
15
|
+
"prepare": "yarn run build && yarn compile && yarn run build:plugin"
|
|
14
16
|
},
|
|
15
17
|
"repository": {
|
|
16
18
|
"type": "git",
|
|
@@ -25,11 +27,13 @@
|
|
|
25
27
|
"appCheck"
|
|
26
28
|
],
|
|
27
29
|
"peerDependencies": {
|
|
28
|
-
"@react-native-firebase/app": "23.
|
|
30
|
+
"@react-native-firebase/app": "23.8.0",
|
|
29
31
|
"expo": ">=47.0.0"
|
|
30
32
|
},
|
|
31
33
|
"devDependencies": {
|
|
32
|
-
"expo": "^54.0.27"
|
|
34
|
+
"expo": "^54.0.27",
|
|
35
|
+
"react-native-builder-bob": "^0.40.12",
|
|
36
|
+
"typescript": "^5.8.3"
|
|
33
37
|
},
|
|
34
38
|
"peerDependenciesMeta": {
|
|
35
39
|
"expo": {
|
|
@@ -40,5 +44,57 @@
|
|
|
40
44
|
"access": "public",
|
|
41
45
|
"provenance": true
|
|
42
46
|
},
|
|
43
|
-
"
|
|
47
|
+
"exports": {
|
|
48
|
+
".": {
|
|
49
|
+
"source": "./lib/index.ts",
|
|
50
|
+
"import": {
|
|
51
|
+
"types": "./dist/typescript/module/lib/index.d.ts",
|
|
52
|
+
"default": "./dist/module/index.js"
|
|
53
|
+
},
|
|
54
|
+
"require": {
|
|
55
|
+
"types": "./dist/typescript/commonjs/lib/index.d.ts",
|
|
56
|
+
"default": "./dist/commonjs/index.js"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"./package.json": "./package.json"
|
|
60
|
+
},
|
|
61
|
+
"files": [
|
|
62
|
+
"lib",
|
|
63
|
+
"plugin/src",
|
|
64
|
+
"tsconfig.json",
|
|
65
|
+
"plugin/tsconfig.json",
|
|
66
|
+
"dist",
|
|
67
|
+
"!**/__tests__",
|
|
68
|
+
"!**/__fixtures__",
|
|
69
|
+
"!**/__mocks__"
|
|
70
|
+
],
|
|
71
|
+
"react-native-builder-bob": {
|
|
72
|
+
"source": "lib",
|
|
73
|
+
"output": "dist",
|
|
74
|
+
"targets": [
|
|
75
|
+
[
|
|
76
|
+
"module",
|
|
77
|
+
{
|
|
78
|
+
"esm": true
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
[
|
|
82
|
+
"commonjs",
|
|
83
|
+
{
|
|
84
|
+
"esm": true
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
[
|
|
88
|
+
"typescript",
|
|
89
|
+
{
|
|
90
|
+
"tsc": "../../node_modules/.bin/tsc"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"eslintIgnore": [
|
|
96
|
+
"node_modules/",
|
|
97
|
+
"dist/"
|
|
98
|
+
],
|
|
99
|
+
"gitHead": "724ddcfea6ebe93875e5a54ff38ca57ab5990822"
|
|
44
100
|
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.packages.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"baseUrl": ".",
|
|
5
|
+
"rootDir": ".",
|
|
6
|
+
"paths": {
|
|
7
|
+
"@react-native-firebase/app/lib/common/*": ["../app/dist/typescript/commonjs/lib/common/*"],
|
|
8
|
+
"@react-native-firebase/app/lib/common": ["../app/dist/typescript/commonjs/lib/common"],
|
|
9
|
+
"@react-native-firebase/app/lib/internal/web/*": [
|
|
10
|
+
"../app/dist/typescript/commonjs/lib/internal/web/*"
|
|
11
|
+
],
|
|
12
|
+
"@react-native-firebase/app/lib/internal/*": [
|
|
13
|
+
"../app/dist/typescript/commonjs/lib/internal/*"
|
|
14
|
+
],
|
|
15
|
+
"@react-native-firebase/app/lib/internal": ["../app/dist/typescript/commonjs/lib/internal"],
|
|
16
|
+
"@react-native-firebase/app": ["../app/dist/typescript/commonjs/lib"]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"include": ["lib/**/*", "../app/lib/internal/global.d.ts"],
|
|
20
|
+
"exclude": ["node_modules", "dist", "__tests__", "**/*.test.ts"]
|
|
21
|
+
}
|