@react-native-firebase/auth 26.3.2 → 26.4.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 +19 -0
- package/RNFBAuth.podspec +1 -1
- package/android/build.gradle +2 -0
- package/android/src/main/java/io/invertase/firebase/auth/AuthListenerHandle.java +26 -0
- package/android/src/main/java/io/invertase/firebase/auth/NativeRNFBTurboAuth.java +69 -101
- package/android/src/main/java/io/invertase/firebase/auth/RNFBAuthCacheRegistry.java +66 -0
- package/android/src/main/java/io/invertase/firebase/auth/RNFBAuthListenerRegistry.java +76 -0
- package/android/src/test/java/io/invertase/firebase/auth/RNFBAuthCacheRegistryTest.java +172 -0
- package/android/src/test/java/io/invertase/firebase/auth/RNFBAuthListenerRegistryTest.java +171 -0
- package/dist/module/ActionCodeURL.js +1 -1
- package/dist/module/ActionCodeURL.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/ActionCodeURL.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/ios/RNFBAuth/RNFBAuthCacheRegistry.h +41 -0
- package/ios/RNFBAuth/RNFBAuthCacheRegistry.m +65 -0
- package/ios/RNFBAuth/RNFBAuthHelper.m +124 -109
- package/ios/RNFBAuth/RNFBAuthListenerRegistry.h +39 -0
- package/ios/RNFBAuth/RNFBAuthListenerRegistry.m +83 -0
- package/ios/RNFBAuth/RNFBAuthModule.mm +2 -2
- package/ios/RNFBAuthUnitTests/RNFBAuthCacheRegistryTests.m +131 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthListenerRegistryTests.m +152 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthUnitTests.xcodeproj/project.pbxproj +261 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthUnitTests.xcodeproj/xcshareddata/xcschemes/RNFBAuthUnitTests.xcscheme +69 -0
- package/lib/ActionCodeURL.ts +1 -2
- package/lib/version.ts +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,152 @@
|
|
|
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
|
+
|
|
18
|
+
#import <XCTest/XCTest.h>
|
|
19
|
+
|
|
20
|
+
#import "RNFBAuthListenerRegistry.h"
|
|
21
|
+
#import "RNFBHandleMap.h"
|
|
22
|
+
|
|
23
|
+
@interface FakeAuthListenerHandle : NSObject
|
|
24
|
+
@property(nonatomic, assign) NSInteger removeCount;
|
|
25
|
+
- (void)remove;
|
|
26
|
+
@end
|
|
27
|
+
|
|
28
|
+
@implementation FakeAuthListenerHandle
|
|
29
|
+
- (void)remove {
|
|
30
|
+
self.removeCount += 1;
|
|
31
|
+
}
|
|
32
|
+
@end
|
|
33
|
+
|
|
34
|
+
@interface RNFBAuthListenerRegistryTests : XCTestCase
|
|
35
|
+
@property(nonatomic, strong) RNFBAuthListenerRegistry *registry;
|
|
36
|
+
@end
|
|
37
|
+
|
|
38
|
+
@implementation RNFBAuthListenerRegistryTests
|
|
39
|
+
|
|
40
|
+
- (void)setUp {
|
|
41
|
+
[super setUp];
|
|
42
|
+
self.registry = [[RNFBAuthListenerRegistry alloc] init];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
- (void)testPutGetTake_happyPath {
|
|
46
|
+
FakeAuthListenerHandle *handle = [[FakeAuthListenerHandle alloc] init];
|
|
47
|
+
NSError *error = nil;
|
|
48
|
+
XCTAssertTrue([self.registry put:@"app" value:handle error:&error]);
|
|
49
|
+
XCTAssertNil(error);
|
|
50
|
+
XCTAssertEqual(handle, [self.registry get:@"app"]);
|
|
51
|
+
XCTAssertEqual(handle, [self.registry take:@"app"]);
|
|
52
|
+
XCTAssertNil([self.registry get:@"app"]);
|
|
53
|
+
XCTAssertEqual(handle.removeCount, 0);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
- (void)testPut_occupiedId_returnsCollision {
|
|
57
|
+
FakeAuthListenerHandle *first = [[FakeAuthListenerHandle alloc] init];
|
|
58
|
+
XCTAssertTrue([self.registry put:@"app" value:first error:nil]);
|
|
59
|
+
|
|
60
|
+
NSError *error = nil;
|
|
61
|
+
XCTAssertFalse([self.registry put:@"app"
|
|
62
|
+
value:[[FakeAuthListenerHandle alloc] init]
|
|
63
|
+
error:&error]);
|
|
64
|
+
XCTAssertNotNil(error);
|
|
65
|
+
XCTAssertEqualObjects(error.domain, RNFBHandleMapErrorDomain);
|
|
66
|
+
XCTAssertEqual(error.code, RNFBHandleMapErrorCollision);
|
|
67
|
+
XCTAssertEqual(first, [self.registry get:@"app"]);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
- (void)testPut_occupiedId_nilErrorOut_returnsNo {
|
|
71
|
+
FakeAuthListenerHandle *first = [[FakeAuthListenerHandle alloc] init];
|
|
72
|
+
XCTAssertTrue([self.registry put:@"app" value:first error:nil]);
|
|
73
|
+
XCTAssertFalse([self.registry put:@"app" value:[[FakeAuthListenerHandle alloc] init] error:nil]);
|
|
74
|
+
XCTAssertEqual(first, [self.registry get:@"app"]);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
- (void)testGet_whenFree_isNil {
|
|
78
|
+
XCTAssertNil([self.registry get:@"app"]);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
- (void)testGet_whenOccupied_returnsHandle {
|
|
82
|
+
FakeAuthListenerHandle *first = [[FakeAuthListenerHandle alloc] init];
|
|
83
|
+
XCTAssertTrue([self.registry put:@"app" value:first error:nil]);
|
|
84
|
+
XCTAssertEqual(first, [self.registry get:@"app"]);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
- (void)testPutOrDiscard_collision_removesIncoming {
|
|
88
|
+
FakeAuthListenerHandle *first = [[FakeAuthListenerHandle alloc] init];
|
|
89
|
+
FakeAuthListenerHandle *duplicate = [[FakeAuthListenerHandle alloc] init];
|
|
90
|
+
XCTAssertTrue([self.registry put:@"app" value:first error:nil]);
|
|
91
|
+
XCTAssertFalse([self.registry putOrDiscard:@"app" value:duplicate]);
|
|
92
|
+
XCTAssertEqual(duplicate.removeCount, 1);
|
|
93
|
+
XCTAssertEqual(first.removeCount, 0);
|
|
94
|
+
XCTAssertEqual(first, [self.registry get:@"app"]);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
- (void)testPutOrDiscard_storesWhenFree {
|
|
98
|
+
FakeAuthListenerHandle *handle = [[FakeAuthListenerHandle alloc] init];
|
|
99
|
+
XCTAssertTrue([self.registry putOrDiscard:@"app" value:handle]);
|
|
100
|
+
XCTAssertEqual(handle, [self.registry get:@"app"]);
|
|
101
|
+
XCTAssertEqual(handle.removeCount, 0);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
- (void)testTakeAndRemove_removesAfterTake {
|
|
105
|
+
FakeAuthListenerHandle *handle = [[FakeAuthListenerHandle alloc] init];
|
|
106
|
+
XCTAssertTrue([self.registry put:@"app" value:handle error:nil]);
|
|
107
|
+
[self.registry takeAndRemove:@"app"];
|
|
108
|
+
XCTAssertEqual(handle.removeCount, 1);
|
|
109
|
+
XCTAssertNil([self.registry get:@"app"]);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
- (void)testTakeAndRemove_missingKey_isNoOp {
|
|
113
|
+
[self.registry takeAndRemove:@"missing"];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
- (void)testRemoveAll_removesSnapshotAndLeavesEmpty {
|
|
117
|
+
FakeAuthListenerHandle *a = [[FakeAuthListenerHandle alloc] init];
|
|
118
|
+
FakeAuthListenerHandle *b = [[FakeAuthListenerHandle alloc] init];
|
|
119
|
+
XCTAssertTrue([self.registry put:@"a" value:a error:nil]);
|
|
120
|
+
XCTAssertTrue([self.registry put:@"b" value:b error:nil]);
|
|
121
|
+
[self.registry removeAll];
|
|
122
|
+
XCTAssertEqual(a.removeCount, 1);
|
|
123
|
+
XCTAssertEqual(b.removeCount, 1);
|
|
124
|
+
XCTAssertNil([self.registry get:@"a"]);
|
|
125
|
+
XCTAssertNil([self.registry get:@"b"]);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
- (void)testPut_afterTake_allowsReuse {
|
|
129
|
+
FakeAuthListenerHandle *first = [[FakeAuthListenerHandle alloc] init];
|
|
130
|
+
FakeAuthListenerHandle *second = [[FakeAuthListenerHandle alloc] init];
|
|
131
|
+
XCTAssertTrue([self.registry put:@"app" value:first error:nil]);
|
|
132
|
+
XCTAssertEqual(first, [self.registry take:@"app"]);
|
|
133
|
+
XCTAssertTrue([self.registry put:@"app" value:second error:nil]);
|
|
134
|
+
XCTAssertEqual(second, [self.registry get:@"app"]);
|
|
135
|
+
XCTAssertEqual(first.removeCount, 0);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
- (void)testRemoveAll_objectWithoutRemove_doesNotCrash {
|
|
139
|
+
NSObject *plain = [[NSObject alloc] init];
|
|
140
|
+
XCTAssertTrue([self.registry put:@"plain" value:plain error:nil]);
|
|
141
|
+
[self.registry removeAll];
|
|
142
|
+
XCTAssertNil([self.registry get:@"plain"]);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
- (void)testTakeAndRemove_objectWithoutRemove_doesNotCrash {
|
|
146
|
+
NSObject *plain = [[NSObject alloc] init];
|
|
147
|
+
XCTAssertTrue([self.registry put:@"plain" value:plain error:nil]);
|
|
148
|
+
[self.registry takeAndRemove:@"plain"];
|
|
149
|
+
XCTAssertNil([self.registry get:@"plain"]);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@end
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
// !$*UTF8*$!
|
|
2
|
+
{
|
|
3
|
+
archiveVersion = 1;
|
|
4
|
+
classes = {
|
|
5
|
+
};
|
|
6
|
+
objectVersion = 56;
|
|
7
|
+
objects = {
|
|
8
|
+
|
|
9
|
+
/* Begin PBXBuildFile section */
|
|
10
|
+
A9000000000000000000000A /* RNFBHandleMap.m in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000008 /* RNFBHandleMap.m */; };
|
|
11
|
+
A9000000000000000000000B /* RNFBAuthListenerRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000018 /* RNFBAuthListenerRegistry.m */; };
|
|
12
|
+
A9000000000000000000000C /* RNFBAuthListenerRegistryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000009 /* RNFBAuthListenerRegistryTests.m */; };
|
|
13
|
+
A9000000000000000000001E /* RNFBAuthCacheRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = A9000000000000000000001C /* RNFBAuthCacheRegistry.m */; };
|
|
14
|
+
A9000000000000000000001F /* RNFBAuthCacheRegistryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A9000000000000000000001D /* RNFBAuthCacheRegistryTests.m */; };
|
|
15
|
+
A90000000000000000000015 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A90000000000000000000014 /* XCTest.framework */; };
|
|
16
|
+
/* End PBXBuildFile section */
|
|
17
|
+
|
|
18
|
+
/* Begin PBXFileReference section */
|
|
19
|
+
A90000000000000000000003 /* RNFBAuthUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNFBAuthUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
20
|
+
A90000000000000000000007 /* RNFBHandleMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBHandleMap.h; path = ../../../app/ios/RNFBApp/RNFBHandleMap.h; sourceTree = SOURCE_ROOT; };
|
|
21
|
+
A90000000000000000000008 /* RNFBHandleMap.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBHandleMap.m; path = ../../../app/ios/RNFBApp/RNFBHandleMap.m; sourceTree = SOURCE_ROOT; };
|
|
22
|
+
A90000000000000000000009 /* RNFBAuthListenerRegistryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBAuthListenerRegistryTests.m; sourceTree = "<group>"; };
|
|
23
|
+
A90000000000000000000016 /* RNFBAuthListenerRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBAuthListenerRegistry.h; path = ../RNFBAuth/RNFBAuthListenerRegistry.h; sourceTree = SOURCE_ROOT; };
|
|
24
|
+
A90000000000000000000018 /* RNFBAuthListenerRegistry.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAuthListenerRegistry.m; path = ../RNFBAuth/RNFBAuthListenerRegistry.m; sourceTree = SOURCE_ROOT; };
|
|
25
|
+
A90000000000000000000019 /* RNFBAuthCacheRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBAuthCacheRegistry.h; path = ../RNFBAuth/RNFBAuthCacheRegistry.h; sourceTree = SOURCE_ROOT; };
|
|
26
|
+
A9000000000000000000001C /* RNFBAuthCacheRegistry.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAuthCacheRegistry.m; path = ../RNFBAuth/RNFBAuthCacheRegistry.m; sourceTree = SOURCE_ROOT; };
|
|
27
|
+
A9000000000000000000001D /* RNFBAuthCacheRegistryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBAuthCacheRegistryTests.m; sourceTree = "<group>"; };
|
|
28
|
+
A90000000000000000000014 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
|
29
|
+
/* End PBXFileReference section */
|
|
30
|
+
|
|
31
|
+
/* Begin PBXFrameworksBuildPhase section */
|
|
32
|
+
A9000000000000000000000D /* Frameworks */ = {
|
|
33
|
+
isa = PBXFrameworksBuildPhase;
|
|
34
|
+
buildActionMask = 2147483647;
|
|
35
|
+
files = (
|
|
36
|
+
A90000000000000000000015 /* XCTest.framework in Frameworks */,
|
|
37
|
+
);
|
|
38
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
39
|
+
};
|
|
40
|
+
/* End PBXFrameworksBuildPhase section */
|
|
41
|
+
|
|
42
|
+
/* Begin PBXGroup section */
|
|
43
|
+
A90000000000000000000004 = {
|
|
44
|
+
isa = PBXGroup;
|
|
45
|
+
children = (
|
|
46
|
+
A90000000000000000000006 /* Sources */,
|
|
47
|
+
A90000000000000000000005 /* Products */,
|
|
48
|
+
);
|
|
49
|
+
sourceTree = "<group>";
|
|
50
|
+
};
|
|
51
|
+
A90000000000000000000005 /* Products */ = {
|
|
52
|
+
isa = PBXGroup;
|
|
53
|
+
children = (
|
|
54
|
+
A90000000000000000000003 /* RNFBAuthUnitTests.xctest */,
|
|
55
|
+
);
|
|
56
|
+
name = Products;
|
|
57
|
+
sourceTree = "<group>";
|
|
58
|
+
};
|
|
59
|
+
A90000000000000000000006 /* Sources */ = {
|
|
60
|
+
isa = PBXGroup;
|
|
61
|
+
children = (
|
|
62
|
+
A90000000000000000000007 /* RNFBHandleMap.h */,
|
|
63
|
+
A90000000000000000000008 /* RNFBHandleMap.m */,
|
|
64
|
+
A90000000000000000000016 /* RNFBAuthListenerRegistry.h */,
|
|
65
|
+
A90000000000000000000018 /* RNFBAuthListenerRegistry.m */,
|
|
66
|
+
A90000000000000000000009 /* RNFBAuthListenerRegistryTests.m */,
|
|
67
|
+
A90000000000000000000019 /* RNFBAuthCacheRegistry.h */,
|
|
68
|
+
A9000000000000000000001C /* RNFBAuthCacheRegistry.m */,
|
|
69
|
+
A9000000000000000000001D /* RNFBAuthCacheRegistryTests.m */,
|
|
70
|
+
);
|
|
71
|
+
name = Sources;
|
|
72
|
+
sourceTree = "<group>";
|
|
73
|
+
};
|
|
74
|
+
/* End PBXGroup section */
|
|
75
|
+
|
|
76
|
+
/* Begin PBXNativeTarget section */
|
|
77
|
+
A90000000000000000000002 /* RNFBAuthUnitTests */ = {
|
|
78
|
+
isa = PBXNativeTarget;
|
|
79
|
+
buildConfigurationList = A90000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAuthUnitTests" */;
|
|
80
|
+
buildPhases = (
|
|
81
|
+
A9000000000000000000000E /* Sources */,
|
|
82
|
+
A9000000000000000000000D /* Frameworks */,
|
|
83
|
+
);
|
|
84
|
+
buildRules = (
|
|
85
|
+
);
|
|
86
|
+
dependencies = (
|
|
87
|
+
);
|
|
88
|
+
name = RNFBAuthUnitTests;
|
|
89
|
+
productName = RNFBAuthUnitTests;
|
|
90
|
+
productReference = A90000000000000000000003 /* RNFBAuthUnitTests.xctest */;
|
|
91
|
+
productType = "com.apple.product-type.bundle.unit-test";
|
|
92
|
+
};
|
|
93
|
+
/* End PBXNativeTarget section */
|
|
94
|
+
|
|
95
|
+
/* Begin PBXProject section */
|
|
96
|
+
A90000000000000000000001 /* Project object */ = {
|
|
97
|
+
isa = PBXProject;
|
|
98
|
+
attributes = {
|
|
99
|
+
BuildIndependentTargetsInParallel = 1;
|
|
100
|
+
LastUpgradeCheck = 2600;
|
|
101
|
+
ORGANIZATIONNAME = Invertase;
|
|
102
|
+
TargetAttributes = {
|
|
103
|
+
A90000000000000000000002 = {
|
|
104
|
+
CreatedOnToolsVersion = 26.0;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
buildConfigurationList = A90000000000000000000012 /* Build configuration list for PBXProject "RNFBAuthUnitTests" */;
|
|
109
|
+
compatibilityVersion = "Xcode 14.0";
|
|
110
|
+
developmentRegion = en;
|
|
111
|
+
hasScannedForEncodings = 0;
|
|
112
|
+
knownRegions = (
|
|
113
|
+
en,
|
|
114
|
+
Base,
|
|
115
|
+
);
|
|
116
|
+
mainGroup = A90000000000000000000004;
|
|
117
|
+
productRefGroup = A90000000000000000000005 /* Products */;
|
|
118
|
+
projectDirPath = "";
|
|
119
|
+
projectRoot = "";
|
|
120
|
+
targets = (
|
|
121
|
+
A90000000000000000000002 /* RNFBAuthUnitTests */,
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
/* End PBXProject section */
|
|
125
|
+
|
|
126
|
+
/* Begin PBXSourcesBuildPhase section */
|
|
127
|
+
A9000000000000000000000E /* Sources */ = {
|
|
128
|
+
isa = PBXSourcesBuildPhase;
|
|
129
|
+
buildActionMask = 2147483647;
|
|
130
|
+
files = (
|
|
131
|
+
A9000000000000000000000A /* RNFBHandleMap.m in Sources */,
|
|
132
|
+
A9000000000000000000000B /* RNFBAuthListenerRegistry.m in Sources */,
|
|
133
|
+
A9000000000000000000000C /* RNFBAuthListenerRegistryTests.m in Sources */,
|
|
134
|
+
A9000000000000000000001E /* RNFBAuthCacheRegistry.m in Sources */,
|
|
135
|
+
A9000000000000000000001F /* RNFBAuthCacheRegistryTests.m in Sources */,
|
|
136
|
+
);
|
|
137
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
138
|
+
};
|
|
139
|
+
/* End PBXSourcesBuildPhase section */
|
|
140
|
+
|
|
141
|
+
/* Begin XCBuildConfiguration section */
|
|
142
|
+
A9000000000000000000001A /* Debug */ = {
|
|
143
|
+
isa = XCBuildConfiguration;
|
|
144
|
+
buildSettings = {
|
|
145
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
146
|
+
CLANG_ENABLE_MODULES = YES;
|
|
147
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
148
|
+
COPY_PHASE_STRIP = NO;
|
|
149
|
+
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
150
|
+
ENABLE_TESTABILITY = YES;
|
|
151
|
+
GCC_C_LANGUAGE_STANDARD = gnu17;
|
|
152
|
+
GCC_DYNAMIC_NO_PIC = NO;
|
|
153
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
|
154
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
155
|
+
ONLY_ACTIVE_ARCH = YES;
|
|
156
|
+
SDKROOT = macosx;
|
|
157
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
158
|
+
};
|
|
159
|
+
name = Debug;
|
|
160
|
+
};
|
|
161
|
+
A9000000000000000000001B /* Release */ = {
|
|
162
|
+
isa = XCBuildConfiguration;
|
|
163
|
+
buildSettings = {
|
|
164
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
165
|
+
CLANG_ENABLE_MODULES = YES;
|
|
166
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
167
|
+
COPY_PHASE_STRIP = YES;
|
|
168
|
+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
169
|
+
GCC_C_LANGUAGE_STANDARD = gnu17;
|
|
170
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
171
|
+
SDKROOT = macosx;
|
|
172
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
173
|
+
};
|
|
174
|
+
name = Release;
|
|
175
|
+
};
|
|
176
|
+
A90000000000000000000010 /* Debug */ = {
|
|
177
|
+
isa = XCBuildConfiguration;
|
|
178
|
+
buildSettings = {
|
|
179
|
+
CLANG_ENABLE_CODE_COVERAGE = YES;
|
|
180
|
+
CODE_SIGNING_ALLOWED = NO;
|
|
181
|
+
CODE_SIGNING_REQUIRED = NO;
|
|
182
|
+
CODE_SIGN_IDENTITY = "-";
|
|
183
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
184
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
185
|
+
HEADER_SEARCH_PATHS = (
|
|
186
|
+
"$(SRCROOT)/../../../app/ios",
|
|
187
|
+
"$(SRCROOT)/../../../app/ios/RNFBApp",
|
|
188
|
+
"$(SRCROOT)/../RNFBAuth",
|
|
189
|
+
);
|
|
190
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
191
|
+
"$(inherited)",
|
|
192
|
+
"@executable_path/../Frameworks",
|
|
193
|
+
"@loader_path/../Frameworks",
|
|
194
|
+
);
|
|
195
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
196
|
+
OTHER_CFLAGS = (
|
|
197
|
+
"-fprofile-instr-generate",
|
|
198
|
+
"-fcoverage-mapping",
|
|
199
|
+
);
|
|
200
|
+
OTHER_LDFLAGS = (
|
|
201
|
+
"-fprofile-instr-generate",
|
|
202
|
+
);
|
|
203
|
+
PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAuthUnitTests;
|
|
204
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
205
|
+
SDKROOT = macosx;
|
|
206
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
207
|
+
};
|
|
208
|
+
name = Debug;
|
|
209
|
+
};
|
|
210
|
+
A90000000000000000000011 /* Release */ = {
|
|
211
|
+
isa = XCBuildConfiguration;
|
|
212
|
+
buildSettings = {
|
|
213
|
+
CLANG_ENABLE_CODE_COVERAGE = YES;
|
|
214
|
+
CODE_SIGNING_ALLOWED = NO;
|
|
215
|
+
CODE_SIGNING_REQUIRED = NO;
|
|
216
|
+
CODE_SIGN_IDENTITY = "-";
|
|
217
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
218
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
219
|
+
HEADER_SEARCH_PATHS = (
|
|
220
|
+
"$(SRCROOT)/../../../app/ios",
|
|
221
|
+
"$(SRCROOT)/../../../app/ios/RNFBApp",
|
|
222
|
+
"$(SRCROOT)/../RNFBAuth",
|
|
223
|
+
);
|
|
224
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
225
|
+
"$(inherited)",
|
|
226
|
+
"@executable_path/../Frameworks",
|
|
227
|
+
"@loader_path/../Frameworks",
|
|
228
|
+
);
|
|
229
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
230
|
+
PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAuthUnitTests;
|
|
231
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
232
|
+
SDKROOT = macosx;
|
|
233
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
234
|
+
};
|
|
235
|
+
name = Release;
|
|
236
|
+
};
|
|
237
|
+
/* End XCBuildConfiguration section */
|
|
238
|
+
|
|
239
|
+
/* Begin XCConfigurationList section */
|
|
240
|
+
A90000000000000000000012 /* Build configuration list for PBXProject "RNFBAuthUnitTests" */ = {
|
|
241
|
+
isa = XCConfigurationList;
|
|
242
|
+
buildConfigurations = (
|
|
243
|
+
A9000000000000000000001A /* Debug */,
|
|
244
|
+
A9000000000000000000001B /* Release */,
|
|
245
|
+
);
|
|
246
|
+
defaultConfigurationIsVisible = 0;
|
|
247
|
+
defaultConfigurationName = Debug;
|
|
248
|
+
};
|
|
249
|
+
A90000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAuthUnitTests" */ = {
|
|
250
|
+
isa = XCConfigurationList;
|
|
251
|
+
buildConfigurations = (
|
|
252
|
+
A90000000000000000000010 /* Debug */,
|
|
253
|
+
A90000000000000000000011 /* Release */,
|
|
254
|
+
);
|
|
255
|
+
defaultConfigurationIsVisible = 0;
|
|
256
|
+
defaultConfigurationName = Debug;
|
|
257
|
+
};
|
|
258
|
+
/* End XCConfigurationList section */
|
|
259
|
+
};
|
|
260
|
+
rootObject = A90000000000000000000001 /* Project object */;
|
|
261
|
+
}
|
|
@@ -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 = "A90000000000000000000002"
|
|
18
|
+
BuildableName = "RNFBAuthUnitTests.xctest"
|
|
19
|
+
BlueprintName = "RNFBAuthUnitTests"
|
|
20
|
+
ReferencedContainer = "container:RNFBAuthUnitTests.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 = "A90000000000000000000002"
|
|
37
|
+
BuildableName = "RNFBAuthUnitTests.xctest"
|
|
38
|
+
BlueprintName = "RNFBAuthUnitTests"
|
|
39
|
+
ReferencedContainer = "container:RNFBAuthUnitTests.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/ActionCodeURL.ts
CHANGED
|
@@ -141,9 +141,8 @@ export class ActionCodeURL {
|
|
|
141
141
|
* @returns The {@link ActionCodeURL} object, or null if the link is invalid.
|
|
142
142
|
*/
|
|
143
143
|
static parseLink(link: string): ActionCodeURL | null {
|
|
144
|
-
const actionLink = parseDeepLink(link);
|
|
145
|
-
|
|
146
144
|
try {
|
|
145
|
+
const actionLink = parseDeepLink(link);
|
|
147
146
|
const searchParams = querystringDecode(extractQuerystring(actionLink));
|
|
148
147
|
const apiKey = searchParams.apiKey ?? null;
|
|
149
148
|
const code = searchParams.oobCode ?? null;
|
package/lib/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '26.
|
|
2
|
+
export const version = '26.4.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-firebase/auth",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.4.0",
|
|
4
4
|
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
|
|
5
5
|
"description": "React Native Firebase - The authentication module provides an easy-to-use API to integrate an authentication workflow into new and existing applications. React Native Firebase provides access to all Firebase authentication methods and identity providers.",
|
|
6
6
|
"main": "./dist/module/index.js",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"android:codegen": "node ../../scripts/codegen-package.mjs auth android",
|
|
31
31
|
"ios:codegen": "node ../../scripts/codegen-package.mjs auth ios"
|
|
32
32
|
},
|
|
33
|
+
"homepage": "https://rnfirebase.io",
|
|
33
34
|
"repository": {
|
|
34
35
|
"type": "git",
|
|
35
36
|
"url": "https://github.com/invertase/react-native-firebase",
|
|
@@ -46,11 +47,11 @@
|
|
|
46
47
|
"@expo/plist": "^0.8.1"
|
|
47
48
|
},
|
|
48
49
|
"peerDependencies": {
|
|
49
|
-
"@react-native-firebase/app": "26.
|
|
50
|
+
"@react-native-firebase/app": "26.4.0",
|
|
50
51
|
"expo": ">=47.0.0"
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|
|
53
|
-
"@react-native-firebase/app": "26.
|
|
54
|
+
"@react-native-firebase/app": "26.4.0",
|
|
54
55
|
"expo": "^55.0.18",
|
|
55
56
|
"react-native-builder-bob": "^0.40.13"
|
|
56
57
|
},
|
|
@@ -101,5 +102,5 @@
|
|
|
101
102
|
"node_modules/",
|
|
102
103
|
"dist/"
|
|
103
104
|
],
|
|
104
|
-
"gitHead": "
|
|
105
|
+
"gitHead": "06701af5fdc19bae9f379567eadb29dfe81953c0"
|
|
105
106
|
}
|