@react-native-firebase/app-check 26.4.0 → 27.0.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 +16 -0
- package/RNFBAppCheck.podspec +8 -2
- package/android/build.gradle +3 -0
- package/android/src/main/java/io/invertase/firebase/appcheck/RNFBAppCheckListenerRegistry.kt +72 -0
- package/dist/module/index.js +1 -2
- package/dist/module/index.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/index.d.ts +1 -1
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/ios/RNFBAppCheck/RNFBAppCheckHelper.h +61 -0
- package/ios/RNFBAppCheck/RNFBAppCheckHelper.m +213 -0
- package/ios/RNFBAppCheck/RNFBAppCheckModule.mm +22 -155
- package/ios/RNFBAppCheck/RNFBAppCheckRejectCodeMapper.swift +50 -0
- package/ios/RNFBAppCheck.xcodeproj/project.pbxproj +14 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/Firebase/FIRAppCheckHostStub.m +109 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/Firebase/Firebase.h +47 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/RNFBApp/RCTConvert+FIRApp.h +13 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/RNFBApp/RCTConvert+FIRAppHostStub.m +27 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/RNFBApp/RNFBSharedUtils.h +18 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/RNFBApp/RNFBSharedUtilsHostStub.m +18 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/RNFBAppCheck/RNFBAppCheckProviderHostStub.m +48 -0
- package/ios/RNFBAppCheckUnitTests/HostStubs/React/RCTBridgeModule.h +10 -0
- package/ios/RNFBAppCheckUnitTests/RNFBAppCheckHelperHostStubTests.m +197 -0
- package/ios/RNFBAppCheckUnitTests/RNFBAppCheckRejectCodeMapperTests.swift +85 -0
- package/ios/RNFBAppCheckUnitTests/RNFBAppCheckUnitTests.xcodeproj/project.pbxproj +277 -0
- package/ios/RNFBAppCheckUnitTests/RNFBAppCheckUnitTests.xcodeproj/xcshareddata/xcschemes/RNFBAppCheckUnitTests.xcscheme +69 -0
- package/lib/index.ts +1 -1
- package/lib/version.ts +1 -1
- package/package.json +4 -4
- package/plugin/build/ios/appDelegate.js +12 -13
- package/plugin/src/ios/appDelegate.ts +13 -14
- package/android/src/main/java/io/invertase/firebase/appcheck/RNFBAppCheckListenerRegistry.java +0 -76
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this library except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <XCTest/XCTest.h>
|
|
18
|
+
|
|
19
|
+
#import <Firebase/Firebase.h>
|
|
20
|
+
#import "RNFBApp/RCTConvert+FIRApp.h"
|
|
21
|
+
#import "RNFBAppCheckHelper.h"
|
|
22
|
+
|
|
23
|
+
@interface RNFBAppCheckHelperHostStubTests : XCTestCase
|
|
24
|
+
@end
|
|
25
|
+
|
|
26
|
+
@implementation RNFBAppCheckHelperHostStubTests
|
|
27
|
+
|
|
28
|
+
- (void)setUp {
|
|
29
|
+
[super setUp];
|
|
30
|
+
[FIRAppCheck resetTestState];
|
|
31
|
+
[RCTConvert resetTestState];
|
|
32
|
+
[RCTConvert setFirAppFromStringHandler:^FIRApp *(NSString *appName) {
|
|
33
|
+
return [[FIRApp alloc] initWithName:appName ?: @"[DEFAULT]"];
|
|
34
|
+
}];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
- (void)tearDown {
|
|
38
|
+
[FIRAppCheck resetTestState];
|
|
39
|
+
[RCTConvert resetTestState];
|
|
40
|
+
[super tearDown];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
- (void)testActivate_configuresDeviceCheckAndResolves {
|
|
44
|
+
__block id resolved = @"unset";
|
|
45
|
+
__block BOOL rejected = NO;
|
|
46
|
+
|
|
47
|
+
[RNFBAppCheckHelper activate:@"helper-activate"
|
|
48
|
+
siteKeyProvider:@"ignored"
|
|
49
|
+
isTokenAutoRefreshEnabled:YES
|
|
50
|
+
resolve:^(id result) {
|
|
51
|
+
resolved = result;
|
|
52
|
+
}
|
|
53
|
+
reject:^(NSString *code, NSString *message, NSError *error) {
|
|
54
|
+
(void)code;
|
|
55
|
+
(void)message;
|
|
56
|
+
(void)error;
|
|
57
|
+
rejected = YES;
|
|
58
|
+
}];
|
|
59
|
+
|
|
60
|
+
XCTAssertFalse(rejected);
|
|
61
|
+
XCTAssertEqualObjects(resolved, [NSNull null]);
|
|
62
|
+
|
|
63
|
+
FIRApp *app = [RCTConvert firAppFromString:@"helper-activate"];
|
|
64
|
+
FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:app];
|
|
65
|
+
XCTAssertTrue(appCheck.isTokenAutoRefreshEnabled);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
- (void)testGetToken_nilToken_rejectsTokenNull {
|
|
69
|
+
// activate installs a ready provider (HostStub sets delegateProvider).
|
|
70
|
+
[RNFBAppCheckHelper activate:@"helper-nil-token"
|
|
71
|
+
siteKeyProvider:nil
|
|
72
|
+
isTokenAutoRefreshEnabled:NO
|
|
73
|
+
resolve:^(id result) {
|
|
74
|
+
(void)result;
|
|
75
|
+
}
|
|
76
|
+
reject:^(NSString *code, NSString *message, NSError *error) {
|
|
77
|
+
(void)code;
|
|
78
|
+
(void)message;
|
|
79
|
+
(void)error;
|
|
80
|
+
}];
|
|
81
|
+
|
|
82
|
+
FIRAppCheck.tokenForcingRefreshHandler =
|
|
83
|
+
^(BOOL forceRefresh, FIRAppCheckTokenCompletionBlock completion) {
|
|
84
|
+
(void)forceRefresh;
|
|
85
|
+
completion(nil, nil);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
XCTestExpectation *expectation = [self expectationWithDescription:@"getToken nil rejects"];
|
|
89
|
+
__block NSString *rejectCode = nil;
|
|
90
|
+
__block NSString *rejectMessage = nil;
|
|
91
|
+
|
|
92
|
+
[RNFBAppCheckHelper getToken:@"helper-nil-token"
|
|
93
|
+
forceRefresh:NO
|
|
94
|
+
resolve:^(id result) {
|
|
95
|
+
(void)result;
|
|
96
|
+
XCTFail(@"expected reject for nil token");
|
|
97
|
+
[expectation fulfill];
|
|
98
|
+
}
|
|
99
|
+
reject:^(NSString *code, NSString *message, NSError *error) {
|
|
100
|
+
(void)error;
|
|
101
|
+
rejectCode = code;
|
|
102
|
+
rejectMessage = message;
|
|
103
|
+
[expectation fulfill];
|
|
104
|
+
}];
|
|
105
|
+
|
|
106
|
+
[self waitForExpectationsWithTimeout:1.0 handler:nil];
|
|
107
|
+
XCTAssertEqualObjects(rejectCode, @"token-null");
|
|
108
|
+
XCTAssertEqualObjects(rejectMessage, @"no token fetched");
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
- (void)testGetLimitedUseToken_error_rejectsMappedCode {
|
|
112
|
+
[RNFBAppCheckHelper activate:@"helper-limited-error"
|
|
113
|
+
siteKeyProvider:nil
|
|
114
|
+
isTokenAutoRefreshEnabled:NO
|
|
115
|
+
resolve:^(id result) {
|
|
116
|
+
(void)result;
|
|
117
|
+
}
|
|
118
|
+
reject:^(NSString *code, NSString *message, NSError *error) {
|
|
119
|
+
(void)code;
|
|
120
|
+
(void)message;
|
|
121
|
+
(void)error;
|
|
122
|
+
}];
|
|
123
|
+
|
|
124
|
+
NSError *fetchError = [NSError errorWithDomain:@"io.invertase.firebase.app-check.test"
|
|
125
|
+
code:9
|
|
126
|
+
userInfo:@{
|
|
127
|
+
NSLocalizedDescriptionKey : @"limited use failed",
|
|
128
|
+
@"code" : @"network",
|
|
129
|
+
}];
|
|
130
|
+
FIRAppCheck.limitedUseTokenHandler = ^(FIRAppCheckTokenCompletionBlock completion) {
|
|
131
|
+
completion(nil, fetchError);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
XCTestExpectation *expectation =
|
|
135
|
+
[self expectationWithDescription:@"getLimitedUseToken error rejects"];
|
|
136
|
+
__block NSString *rejectCode = nil;
|
|
137
|
+
__block NSString *rejectMessage = nil;
|
|
138
|
+
|
|
139
|
+
[RNFBAppCheckHelper getLimitedUseToken:@"helper-limited-error"
|
|
140
|
+
resolve:^(id result) {
|
|
141
|
+
(void)result;
|
|
142
|
+
XCTFail(@"expected reject for error");
|
|
143
|
+
[expectation fulfill];
|
|
144
|
+
}
|
|
145
|
+
reject:^(NSString *code, NSString *message, NSError *error) {
|
|
146
|
+
(void)error;
|
|
147
|
+
rejectCode = code;
|
|
148
|
+
rejectMessage = message;
|
|
149
|
+
[expectation fulfill];
|
|
150
|
+
}];
|
|
151
|
+
|
|
152
|
+
[self waitForExpectationsWithTimeout:1.0 handler:nil];
|
|
153
|
+
XCTAssertEqualObjects(rejectCode, @"token-error");
|
|
154
|
+
XCTAssertEqualObjects(rejectMessage, @"limited use failed");
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
- (void)testGetLimitedUseToken_nilToken_rejectsTokenNull {
|
|
158
|
+
[RNFBAppCheckHelper activate:@"helper-limited-nil"
|
|
159
|
+
siteKeyProvider:nil
|
|
160
|
+
isTokenAutoRefreshEnabled:NO
|
|
161
|
+
resolve:^(id result) {
|
|
162
|
+
(void)result;
|
|
163
|
+
}
|
|
164
|
+
reject:^(NSString *code, NSString *message, NSError *error) {
|
|
165
|
+
(void)code;
|
|
166
|
+
(void)message;
|
|
167
|
+
(void)error;
|
|
168
|
+
}];
|
|
169
|
+
|
|
170
|
+
FIRAppCheck.limitedUseTokenHandler = ^(FIRAppCheckTokenCompletionBlock completion) {
|
|
171
|
+
completion(nil, nil);
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
XCTestExpectation *expectation =
|
|
175
|
+
[self expectationWithDescription:@"getLimitedUseToken nil rejects"];
|
|
176
|
+
__block NSString *rejectCode = nil;
|
|
177
|
+
__block NSString *rejectMessage = nil;
|
|
178
|
+
|
|
179
|
+
[RNFBAppCheckHelper getLimitedUseToken:@"helper-limited-nil"
|
|
180
|
+
resolve:^(id result) {
|
|
181
|
+
(void)result;
|
|
182
|
+
XCTFail(@"expected reject for nil token");
|
|
183
|
+
[expectation fulfill];
|
|
184
|
+
}
|
|
185
|
+
reject:^(NSString *code, NSString *message, NSError *error) {
|
|
186
|
+
(void)error;
|
|
187
|
+
rejectCode = code;
|
|
188
|
+
rejectMessage = message;
|
|
189
|
+
[expectation fulfill];
|
|
190
|
+
}];
|
|
191
|
+
|
|
192
|
+
[self waitForExpectationsWithTimeout:1.0 handler:nil];
|
|
193
|
+
XCTAssertEqualObjects(rejectCode, @"token-null");
|
|
194
|
+
XCTAssertEqualObjects(rejectMessage, @"no token fetched");
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this library except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import XCTest
|
|
18
|
+
|
|
19
|
+
final class RNFBAppCheckRejectCodeMapperTests: XCTestCase {
|
|
20
|
+
private let domain = "io.invertase.firebase.app-check.test"
|
|
21
|
+
|
|
22
|
+
private func error(code: Any?, underlying: Error? = nil) -> NSError {
|
|
23
|
+
var userInfo: [String: Any] = [:]
|
|
24
|
+
if let code {
|
|
25
|
+
userInfo["code"] = code
|
|
26
|
+
}
|
|
27
|
+
if let underlying {
|
|
28
|
+
userInfo[NSUnderlyingErrorKey] = underlying
|
|
29
|
+
}
|
|
30
|
+
return NSError(domain: domain, code: 1, userInfo: userInfo)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
func testRejectCode_nilError_returnsTokenError() {
|
|
34
|
+
XCTAssertEqual(RNFBAppCheckRejectCodeMapper.rejectCode(for: nil), "token-error")
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
func testRejectCode_emptyUserInfo_returnsTokenError() {
|
|
38
|
+
let err = NSError(domain: domain, code: 1, userInfo: nil)
|
|
39
|
+
XCTAssertEqual(RNFBAppCheckRejectCodeMapper.rejectCode(for: err), "token-error")
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
func testRejectCode_topLevelProviderNotReady() {
|
|
43
|
+
let err = error(code: "provider-not-ready")
|
|
44
|
+
XCTAssertEqual(
|
|
45
|
+
RNFBAppCheckRejectCodeMapper.rejectCode(for: err), "provider-not-ready")
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
func testRejectCode_otherStringCode_returnsTokenError() {
|
|
49
|
+
let err = error(code: "token-null")
|
|
50
|
+
XCTAssertEqual(RNFBAppCheckRejectCodeMapper.rejectCode(for: err), "token-error")
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
func testRejectCode_nonStringCode_returnsTokenError() {
|
|
54
|
+
let err = error(code: NSNumber(value: 42))
|
|
55
|
+
XCTAssertEqual(RNFBAppCheckRejectCodeMapper.rejectCode(for: err), "token-error")
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
func testRejectCode_underlyingProviderNotReady() {
|
|
59
|
+
let inner = error(code: "provider-not-ready")
|
|
60
|
+
let outer = error(code: "wrapped", underlying: inner)
|
|
61
|
+
XCTAssertEqual(
|
|
62
|
+
RNFBAppCheckRejectCodeMapper.rejectCode(for: outer), "provider-not-ready")
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
func testRejectCode_deepChain_providerNotReadyInMiddle() {
|
|
66
|
+
let leaf = error(code: "other")
|
|
67
|
+
let middle = error(code: "provider-not-ready", underlying: leaf)
|
|
68
|
+
let outer = error(code: "sdk-wrap", underlying: middle)
|
|
69
|
+
XCTAssertEqual(
|
|
70
|
+
RNFBAppCheckRejectCodeMapper.rejectCode(for: outer), "provider-not-ready")
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
func testRejectCode_nonErrorUnderlying_stopsWalk() {
|
|
74
|
+
var userInfo: [String: Any] = ["code": "wrapped"]
|
|
75
|
+
userInfo[NSUnderlyingErrorKey] = "not-an-error"
|
|
76
|
+
let err = NSError(domain: domain, code: 1, userInfo: userInfo)
|
|
77
|
+
XCTAssertEqual(RNFBAppCheckRejectCodeMapper.rejectCode(for: err), "token-error")
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
func testRejectCode_underlyingWithoutProviderCode_returnsTokenError() {
|
|
81
|
+
let inner = error(code: "network")
|
|
82
|
+
let outer = error(code: nil, underlying: inner)
|
|
83
|
+
XCTAssertEqual(RNFBAppCheckRejectCodeMapper.rejectCode(for: outer), "token-error")
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
// !$*UTF8*$!
|
|
2
|
+
{
|
|
3
|
+
archiveVersion = 1;
|
|
4
|
+
classes = {
|
|
5
|
+
};
|
|
6
|
+
objectVersion = 56;
|
|
7
|
+
objects = {
|
|
8
|
+
|
|
9
|
+
/* Begin PBXBuildFile section */
|
|
10
|
+
AC100000000000000000000B /* RNFBAppCheckRejectCodeMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC1000000000000000000009 /* RNFBAppCheckRejectCodeMapper.swift */; };
|
|
11
|
+
AC100000000000000000000C /* RNFBAppCheckRejectCodeMapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC100000000000000000000D /* RNFBAppCheckRejectCodeMapperTests.swift */; };
|
|
12
|
+
AC1000000000000000000015 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC1000000000000000000014 /* XCTest.framework */; };
|
|
13
|
+
AC1000000000000000000020 /* RNFBAppCheckHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = AC1000000000000000000021 /* RNFBAppCheckHelper.m */; };
|
|
14
|
+
AC1000000000000000000022 /* RNFBAppCheckProviderFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = AC1000000000000000000023 /* RNFBAppCheckProviderFactory.m */; };
|
|
15
|
+
AC1000000000000000000024 /* RNFBAppCheckHelperHostStubTests.m in Sources */ = {isa = PBXBuildFile; fileRef = AC1000000000000000000025 /* RNFBAppCheckHelperHostStubTests.m */; };
|
|
16
|
+
AC1000000000000000000026 /* FIRAppCheckHostStub.m in Sources */ = {isa = PBXBuildFile; fileRef = AC1000000000000000000027 /* FIRAppCheckHostStub.m */; };
|
|
17
|
+
AC1000000000000000000028 /* RNFBSharedUtilsHostStub.m in Sources */ = {isa = PBXBuildFile; fileRef = AC1000000000000000000029 /* RNFBSharedUtilsHostStub.m */; };
|
|
18
|
+
AC100000000000000000002A /* RCTConvert+FIRAppHostStub.m in Sources */ = {isa = PBXBuildFile; fileRef = AC100000000000000000002B /* RCTConvert+FIRAppHostStub.m */; };
|
|
19
|
+
AC100000000000000000002C /* RNFBAppCheckProviderHostStub.m in Sources */ = {isa = PBXBuildFile; fileRef = AC100000000000000000002D /* RNFBAppCheckProviderHostStub.m */; };
|
|
20
|
+
/* End PBXBuildFile section */
|
|
21
|
+
|
|
22
|
+
/* Begin PBXFileReference section */
|
|
23
|
+
AC1000000000000000000003 /* RNFBAppCheckUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNFBAppCheckUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
24
|
+
AC1000000000000000000009 /* RNFBAppCheckRejectCodeMapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RNFBAppCheckRejectCodeMapper.swift; path = ../RNFBAppCheck/RNFBAppCheckRejectCodeMapper.swift; sourceTree = SOURCE_ROOT; };
|
|
25
|
+
AC100000000000000000000D /* RNFBAppCheckRejectCodeMapperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNFBAppCheckRejectCodeMapperTests.swift; sourceTree = "<group>"; };
|
|
26
|
+
AC1000000000000000000014 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
|
27
|
+
AC1000000000000000000021 /* RNFBAppCheckHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAppCheckHelper.m; path = ../RNFBAppCheck/RNFBAppCheckHelper.m; sourceTree = SOURCE_ROOT; };
|
|
28
|
+
AC1000000000000000000023 /* RNFBAppCheckProviderFactory.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAppCheckProviderFactory.m; path = ../RNFBAppCheck/RNFBAppCheckProviderFactory.m; sourceTree = SOURCE_ROOT; };
|
|
29
|
+
AC1000000000000000000025 /* RNFBAppCheckHelperHostStubTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBAppCheckHelperHostStubTests.m; sourceTree = "<group>"; };
|
|
30
|
+
AC1000000000000000000027 /* FIRAppCheckHostStub.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = FIRAppCheckHostStub.m; path = HostStubs/Firebase/FIRAppCheckHostStub.m; sourceTree = "<group>"; };
|
|
31
|
+
AC1000000000000000000029 /* RNFBSharedUtilsHostStub.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBSharedUtilsHostStub.m; path = HostStubs/RNFBApp/RNFBSharedUtilsHostStub.m; sourceTree = "<group>"; };
|
|
32
|
+
AC100000000000000000002B /* RCTConvert+FIRAppHostStub.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "RCTConvert+FIRAppHostStub.m"; path = "HostStubs/RNFBApp/RCTConvert+FIRAppHostStub.m"; sourceTree = "<group>"; };
|
|
33
|
+
AC100000000000000000002D /* RNFBAppCheckProviderHostStub.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAppCheckProviderHostStub.m; path = HostStubs/RNFBAppCheck/RNFBAppCheckProviderHostStub.m; sourceTree = "<group>"; };
|
|
34
|
+
AC100000000000000000002E /* RNFBAppCheckHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBAppCheckHelper.h; path = ../RNFBAppCheck/RNFBAppCheckHelper.h; sourceTree = SOURCE_ROOT; };
|
|
35
|
+
/* End PBXFileReference section */
|
|
36
|
+
|
|
37
|
+
/* Begin PBXFrameworksBuildPhase section */
|
|
38
|
+
AC1000000000000000000012 /* Frameworks */ = {
|
|
39
|
+
isa = PBXFrameworksBuildPhase;
|
|
40
|
+
buildActionMask = 2147483647;
|
|
41
|
+
files = (
|
|
42
|
+
AC1000000000000000000015 /* XCTest.framework in Frameworks */,
|
|
43
|
+
);
|
|
44
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
45
|
+
};
|
|
46
|
+
/* End PBXFrameworksBuildPhase section */
|
|
47
|
+
|
|
48
|
+
/* Begin PBXGroup section */
|
|
49
|
+
AC1000000000000000000004 = {
|
|
50
|
+
isa = PBXGroup;
|
|
51
|
+
children = (
|
|
52
|
+
AC1000000000000000000006 /* Sources */,
|
|
53
|
+
AC1000000000000000000005 /* Products */,
|
|
54
|
+
);
|
|
55
|
+
sourceTree = "<group>";
|
|
56
|
+
};
|
|
57
|
+
AC1000000000000000000005 /* Products */ = {
|
|
58
|
+
isa = PBXGroup;
|
|
59
|
+
children = (
|
|
60
|
+
AC1000000000000000000003 /* RNFBAppCheckUnitTests.xctest */,
|
|
61
|
+
);
|
|
62
|
+
name = Products;
|
|
63
|
+
sourceTree = "<group>";
|
|
64
|
+
};
|
|
65
|
+
AC1000000000000000000006 /* Sources */ = {
|
|
66
|
+
isa = PBXGroup;
|
|
67
|
+
children = (
|
|
68
|
+
AC1000000000000000000009 /* RNFBAppCheckRejectCodeMapper.swift */,
|
|
69
|
+
AC100000000000000000000D /* RNFBAppCheckRejectCodeMapperTests.swift */,
|
|
70
|
+
AC100000000000000000002E /* RNFBAppCheckHelper.h */,
|
|
71
|
+
AC1000000000000000000021 /* RNFBAppCheckHelper.m */,
|
|
72
|
+
AC1000000000000000000023 /* RNFBAppCheckProviderFactory.m */,
|
|
73
|
+
AC1000000000000000000025 /* RNFBAppCheckHelperHostStubTests.m */,
|
|
74
|
+
AC1000000000000000000027 /* FIRAppCheckHostStub.m */,
|
|
75
|
+
AC1000000000000000000029 /* RNFBSharedUtilsHostStub.m */,
|
|
76
|
+
AC100000000000000000002B /* RCTConvert+FIRAppHostStub.m */,
|
|
77
|
+
AC100000000000000000002D /* RNFBAppCheckProviderHostStub.m */,
|
|
78
|
+
);
|
|
79
|
+
name = Sources;
|
|
80
|
+
sourceTree = "<group>";
|
|
81
|
+
};
|
|
82
|
+
/* End PBXGroup section */
|
|
83
|
+
|
|
84
|
+
/* Begin PBXNativeTarget section */
|
|
85
|
+
AC1000000000000000000002 /* RNFBAppCheckUnitTests */ = {
|
|
86
|
+
isa = PBXNativeTarget;
|
|
87
|
+
buildConfigurationList = AC1000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAppCheckUnitTests" */;
|
|
88
|
+
buildPhases = (
|
|
89
|
+
AC1000000000000000000016 /* Sources */,
|
|
90
|
+
AC1000000000000000000012 /* Frameworks */,
|
|
91
|
+
);
|
|
92
|
+
buildRules = (
|
|
93
|
+
);
|
|
94
|
+
dependencies = (
|
|
95
|
+
);
|
|
96
|
+
name = RNFBAppCheckUnitTests;
|
|
97
|
+
productName = RNFBAppCheckUnitTests;
|
|
98
|
+
productReference = AC1000000000000000000003 /* RNFBAppCheckUnitTests.xctest */;
|
|
99
|
+
productType = "com.apple.product-type.bundle.unit-test";
|
|
100
|
+
};
|
|
101
|
+
/* End PBXNativeTarget section */
|
|
102
|
+
|
|
103
|
+
/* Begin PBXProject section */
|
|
104
|
+
AC1000000000000000000001 /* Project object */ = {
|
|
105
|
+
isa = PBXProject;
|
|
106
|
+
attributes = {
|
|
107
|
+
BuildIndependentTargetsInParallel = 1;
|
|
108
|
+
LastUpgradeCheck = 2600;
|
|
109
|
+
ORGANIZATIONNAME = Invertase;
|
|
110
|
+
TargetAttributes = {
|
|
111
|
+
AC1000000000000000000002 = {
|
|
112
|
+
CreatedOnToolsVersion = 26.0;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
buildConfigurationList = AC1000000000000000000017 /* Build configuration list for PBXProject "RNFBAppCheckUnitTests" */;
|
|
117
|
+
compatibilityVersion = "Xcode 14.0";
|
|
118
|
+
developmentRegion = en;
|
|
119
|
+
hasScannedForEncodings = 0;
|
|
120
|
+
knownRegions = (
|
|
121
|
+
en,
|
|
122
|
+
Base,
|
|
123
|
+
);
|
|
124
|
+
mainGroup = AC1000000000000000000004;
|
|
125
|
+
productRefGroup = AC1000000000000000000005 /* Products */;
|
|
126
|
+
projectDirPath = "";
|
|
127
|
+
projectRoot = "";
|
|
128
|
+
targets = (
|
|
129
|
+
AC1000000000000000000002 /* RNFBAppCheckUnitTests */,
|
|
130
|
+
);
|
|
131
|
+
};
|
|
132
|
+
/* End PBXProject section */
|
|
133
|
+
|
|
134
|
+
/* Begin PBXSourcesBuildPhase section */
|
|
135
|
+
AC1000000000000000000016 /* Sources */ = {
|
|
136
|
+
isa = PBXSourcesBuildPhase;
|
|
137
|
+
buildActionMask = 2147483647;
|
|
138
|
+
files = (
|
|
139
|
+
AC100000000000000000000B /* RNFBAppCheckRejectCodeMapper.swift in Sources */,
|
|
140
|
+
AC100000000000000000000C /* RNFBAppCheckRejectCodeMapperTests.swift in Sources */,
|
|
141
|
+
AC1000000000000000000020 /* RNFBAppCheckHelper.m in Sources */,
|
|
142
|
+
AC1000000000000000000022 /* RNFBAppCheckProviderFactory.m in Sources */,
|
|
143
|
+
AC100000000000000000002C /* RNFBAppCheckProviderHostStub.m in Sources */,
|
|
144
|
+
AC1000000000000000000026 /* FIRAppCheckHostStub.m in Sources */,
|
|
145
|
+
AC1000000000000000000028 /* RNFBSharedUtilsHostStub.m in Sources */,
|
|
146
|
+
AC100000000000000000002A /* RCTConvert+FIRAppHostStub.m in Sources */,
|
|
147
|
+
AC1000000000000000000024 /* RNFBAppCheckHelperHostStubTests.m in Sources */,
|
|
148
|
+
);
|
|
149
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
150
|
+
};
|
|
151
|
+
/* End PBXSourcesBuildPhase section */
|
|
152
|
+
|
|
153
|
+
/* Begin XCBuildConfiguration section */
|
|
154
|
+
AC1000000000000000000018 /* Debug */ = {
|
|
155
|
+
isa = XCBuildConfiguration;
|
|
156
|
+
buildSettings = {
|
|
157
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
158
|
+
CLANG_ENABLE_MODULES = YES;
|
|
159
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
160
|
+
COPY_PHASE_STRIP = NO;
|
|
161
|
+
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
162
|
+
ENABLE_TESTABILITY = YES;
|
|
163
|
+
GCC_C_LANGUAGE_STANDARD = gnu17;
|
|
164
|
+
GCC_DYNAMIC_NO_PIC = NO;
|
|
165
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
|
166
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
167
|
+
ONLY_ACTIVE_ARCH = YES;
|
|
168
|
+
SDKROOT = macosx;
|
|
169
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
170
|
+
};
|
|
171
|
+
name = Debug;
|
|
172
|
+
};
|
|
173
|
+
AC1000000000000000000019 /* Release */ = {
|
|
174
|
+
isa = XCBuildConfiguration;
|
|
175
|
+
buildSettings = {
|
|
176
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
177
|
+
CLANG_ENABLE_MODULES = YES;
|
|
178
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
179
|
+
COPY_PHASE_STRIP = YES;
|
|
180
|
+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
181
|
+
GCC_C_LANGUAGE_STANDARD = gnu17;
|
|
182
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
183
|
+
SDKROOT = macosx;
|
|
184
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
185
|
+
};
|
|
186
|
+
name = Release;
|
|
187
|
+
};
|
|
188
|
+
AC100000000000000000001A /* Debug */ = {
|
|
189
|
+
isa = XCBuildConfiguration;
|
|
190
|
+
buildSettings = {
|
|
191
|
+
CLANG_ENABLE_CODE_COVERAGE = YES;
|
|
192
|
+
CODE_SIGNING_ALLOWED = NO;
|
|
193
|
+
CODE_SIGNING_REQUIRED = NO;
|
|
194
|
+
CODE_SIGN_IDENTITY = "-";
|
|
195
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
196
|
+
DEFINES_MODULE = YES;
|
|
197
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
198
|
+
HEADER_SEARCH_PATHS = (
|
|
199
|
+
"$(SRCROOT)/HostStubs",
|
|
200
|
+
"$(SRCROOT)/../RNFBAppCheck",
|
|
201
|
+
);
|
|
202
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
203
|
+
"$(inherited)",
|
|
204
|
+
"@executable_path/../Frameworks",
|
|
205
|
+
"@loader_path/../Frameworks",
|
|
206
|
+
);
|
|
207
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
208
|
+
OTHER_CFLAGS = (
|
|
209
|
+
"-fprofile-instr-generate",
|
|
210
|
+
"-fcoverage-mapping",
|
|
211
|
+
);
|
|
212
|
+
OTHER_LDFLAGS = (
|
|
213
|
+
"-fprofile-instr-generate",
|
|
214
|
+
);
|
|
215
|
+
PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAppCheckUnitTests;
|
|
216
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
217
|
+
SDKROOT = macosx;
|
|
218
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
219
|
+
SWIFT_OBJC_INTERFACE_HEADER_NAME = "RNFBAppCheckRejectCodeMapper-Swift.inc";
|
|
220
|
+
SWIFT_VERSION = 5.10;
|
|
221
|
+
};
|
|
222
|
+
name = Debug;
|
|
223
|
+
};
|
|
224
|
+
AC100000000000000000001B /* Release */ = {
|
|
225
|
+
isa = XCBuildConfiguration;
|
|
226
|
+
buildSettings = {
|
|
227
|
+
CLANG_ENABLE_CODE_COVERAGE = YES;
|
|
228
|
+
CODE_SIGNING_ALLOWED = NO;
|
|
229
|
+
CODE_SIGNING_REQUIRED = NO;
|
|
230
|
+
CODE_SIGN_IDENTITY = "-";
|
|
231
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
232
|
+
DEFINES_MODULE = YES;
|
|
233
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
234
|
+
HEADER_SEARCH_PATHS = (
|
|
235
|
+
"$(SRCROOT)/HostStubs",
|
|
236
|
+
"$(SRCROOT)/../RNFBAppCheck",
|
|
237
|
+
);
|
|
238
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
239
|
+
"$(inherited)",
|
|
240
|
+
"@executable_path/../Frameworks",
|
|
241
|
+
"@loader_path/../Frameworks",
|
|
242
|
+
);
|
|
243
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
244
|
+
PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAppCheckUnitTests;
|
|
245
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
246
|
+
SDKROOT = macosx;
|
|
247
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
248
|
+
SWIFT_OBJC_INTERFACE_HEADER_NAME = "RNFBAppCheckRejectCodeMapper-Swift.inc";
|
|
249
|
+
SWIFT_VERSION = 5.10;
|
|
250
|
+
};
|
|
251
|
+
name = Release;
|
|
252
|
+
};
|
|
253
|
+
/* End XCBuildConfiguration section */
|
|
254
|
+
|
|
255
|
+
/* Begin XCConfigurationList section */
|
|
256
|
+
AC1000000000000000000017 /* Build configuration list for PBXProject "RNFBAppCheckUnitTests" */ = {
|
|
257
|
+
isa = XCConfigurationList;
|
|
258
|
+
buildConfigurations = (
|
|
259
|
+
AC1000000000000000000018 /* Debug */,
|
|
260
|
+
AC1000000000000000000019 /* Release */,
|
|
261
|
+
);
|
|
262
|
+
defaultConfigurationIsVisible = 0;
|
|
263
|
+
defaultConfigurationName = Debug;
|
|
264
|
+
};
|
|
265
|
+
AC1000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAppCheckUnitTests" */ = {
|
|
266
|
+
isa = XCConfigurationList;
|
|
267
|
+
buildConfigurations = (
|
|
268
|
+
AC100000000000000000001A /* Debug */,
|
|
269
|
+
AC100000000000000000001B /* Release */,
|
|
270
|
+
);
|
|
271
|
+
defaultConfigurationIsVisible = 0;
|
|
272
|
+
defaultConfigurationName = Debug;
|
|
273
|
+
};
|
|
274
|
+
/* End XCConfigurationList section */
|
|
275
|
+
};
|
|
276
|
+
rootObject = AC1000000000000000000001 /* Project object */;
|
|
277
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Scheme
|
|
3
|
+
LastUpgradeVersion = "2600"
|
|
4
|
+
version = "1.7">
|
|
5
|
+
<BuildAction
|
|
6
|
+
parallelizeBuildables = "YES"
|
|
7
|
+
buildImplicitDependencies = "YES">
|
|
8
|
+
<BuildActionEntries>
|
|
9
|
+
<BuildActionEntry
|
|
10
|
+
buildForTesting = "YES"
|
|
11
|
+
buildForRunning = "YES"
|
|
12
|
+
buildForProfiling = "NO"
|
|
13
|
+
buildForArchiving = "NO"
|
|
14
|
+
buildForAnalyzing = "YES">
|
|
15
|
+
<BuildableReference
|
|
16
|
+
BuildableIdentifier = "primary"
|
|
17
|
+
BlueprintIdentifier = "AC1000000000000000000002"
|
|
18
|
+
BuildableName = "RNFBAppCheckUnitTests.xctest"
|
|
19
|
+
BlueprintName = "RNFBAppCheckUnitTests"
|
|
20
|
+
ReferencedContainer = "container:RNFBAppCheckUnitTests.xcodeproj">
|
|
21
|
+
</BuildableReference>
|
|
22
|
+
</BuildActionEntry>
|
|
23
|
+
</BuildActionEntries>
|
|
24
|
+
</BuildAction>
|
|
25
|
+
<TestAction
|
|
26
|
+
buildConfiguration = "Debug"
|
|
27
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
28
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
29
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
30
|
+
codeCoverageEnabled = "YES">
|
|
31
|
+
<Testables>
|
|
32
|
+
<TestableReference
|
|
33
|
+
skipped = "NO">
|
|
34
|
+
<BuildableReference
|
|
35
|
+
BuildableIdentifier = "primary"
|
|
36
|
+
BlueprintIdentifier = "AC1000000000000000000002"
|
|
37
|
+
BuildableName = "RNFBAppCheckUnitTests.xctest"
|
|
38
|
+
BlueprintName = "RNFBAppCheckUnitTests"
|
|
39
|
+
ReferencedContainer = "container:RNFBAppCheckUnitTests.xcodeproj">
|
|
40
|
+
</BuildableReference>
|
|
41
|
+
</TestableReference>
|
|
42
|
+
</Testables>
|
|
43
|
+
</TestAction>
|
|
44
|
+
<LaunchAction
|
|
45
|
+
buildConfiguration = "Debug"
|
|
46
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
47
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
48
|
+
launchStyle = "0"
|
|
49
|
+
useCustomWorkingDirectory = "NO"
|
|
50
|
+
ignoresPersistentStateOnLaunch = "NO"
|
|
51
|
+
debugDocumentVersioning = "YES"
|
|
52
|
+
debugServiceExtension = "internal"
|
|
53
|
+
allowLocationSimulation = "YES">
|
|
54
|
+
</LaunchAction>
|
|
55
|
+
<ProfileAction
|
|
56
|
+
buildConfiguration = "Release"
|
|
57
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
58
|
+
savedToolIdentifier = ""
|
|
59
|
+
useCustomWorkingDirectory = "NO"
|
|
60
|
+
debugDocumentVersioning = "YES">
|
|
61
|
+
</ProfileAction>
|
|
62
|
+
<AnalyzeAction
|
|
63
|
+
buildConfiguration = "Debug">
|
|
64
|
+
</AnalyzeAction>
|
|
65
|
+
<ArchiveAction
|
|
66
|
+
buildConfiguration = "Release"
|
|
67
|
+
revealArchiveInOrganizer = "YES">
|
|
68
|
+
</ArchiveAction>
|
|
69
|
+
</Scheme>
|
package/lib/index.ts
CHANGED
|
@@ -28,11 +28,11 @@ import type { FirebaseApp } from '@react-native-firebase/app';
|
|
|
28
28
|
import {
|
|
29
29
|
FirebaseModule,
|
|
30
30
|
getOrCreateModularInstance,
|
|
31
|
+
setReactNativeModule,
|
|
31
32
|
} from '@react-native-firebase/app/dist/module/internal';
|
|
32
33
|
import type { ModuleConfig } from '@react-native-firebase/app/dist/module/internal';
|
|
33
34
|
import './types/internal';
|
|
34
35
|
import { Platform } from 'react-native';
|
|
35
|
-
import { setReactNativeModule } from '@react-native-firebase/app/dist/module/internal/nativeModule';
|
|
36
36
|
import fallBackModule from './web/RNFBAppCheckModule';
|
|
37
37
|
import { version } from './version';
|
|
38
38
|
import type {
|
package/lib/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '
|
|
2
|
+
export const version = '27.0.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-firebase/app-check",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "27.0.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",
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"appCheck"
|
|
46
46
|
],
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@react-native-firebase/app": "
|
|
48
|
+
"@react-native-firebase/app": "27.0.0",
|
|
49
49
|
"expo": ">=47.0.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@react-native-firebase/app": "
|
|
52
|
+
"@react-native-firebase/app": "27.0.0",
|
|
53
53
|
"expo": "^55.0.18",
|
|
54
54
|
"react-native-builder-bob": "^0.41.0",
|
|
55
55
|
"typescript": "^6.0.3"
|
|
@@ -101,5 +101,5 @@
|
|
|
101
101
|
"node_modules/",
|
|
102
102
|
"dist/"
|
|
103
103
|
],
|
|
104
|
-
"gitHead": "
|
|
104
|
+
"gitHead": "0c7e942bca361f1765abaf233bf447d795718eff"
|
|
105
105
|
}
|