@react-native-firebase/auth 26.3.3 → 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 +27 -0
- package/RNFBAuth.podspec +8 -2
- package/android/build.gradle +5 -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 +68 -102
- package/android/src/main/java/io/invertase/firebase/auth/RNFBAuthCacheRegistry.kt +77 -0
- package/android/src/main/java/io/invertase/firebase/auth/RNFBAuthListenerRegistry.kt +76 -0
- package/android/src/test/java/io/invertase/firebase/auth/RNFBAuthCacheRegistryTest.java +184 -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/index.js +1 -2
- package/dist/module/index.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/types/internal.d.ts +2 -3
- package/dist/typescript/lib/types/internal.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 +84 -0
- package/ios/RNFBAuth/RNFBAuthCacheRegistryStorage.swift +53 -0
- package/ios/RNFBAuth/RNFBAuthErrorCodeMapper.swift +333 -0
- package/ios/RNFBAuth/RNFBAuthHelper.m +147 -262
- package/ios/RNFBAuth/RNFBAuthListenerRegistry.h +39 -0
- package/ios/RNFBAuth/RNFBAuthListenerRegistry.m +83 -0
- package/ios/RNFBAuth/RNFBAuthListenerRegistryStorage.swift +76 -0
- package/ios/RNFBAuth/RNFBAuthNullSentinelDecoder.h +40 -0
- package/ios/RNFBAuth/RNFBAuthNullSentinelDecoder.m +49 -0
- package/ios/RNFBAuth.xcodeproj/project.pbxproj +22 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthCacheRegistryStorageTests.swift +72 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthCacheRegistryTests.m +131 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthErrorCodeMapperTests.swift +250 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthListenerRegistryStorageTests.swift +122 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthListenerRegistryTests.m +152 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthNullSentinelDecodeTests.m +78 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthUnitTests.xcodeproj/project.pbxproj +311 -0
- package/ios/RNFBAuthUnitTests/RNFBAuthUnitTests.xcodeproj/xcshareddata/xcschemes/RNFBAuthUnitTests.xcscheme +69 -0
- package/lib/ActionCodeURL.ts +1 -2
- package/lib/index.ts +1 -1
- package/lib/types/internal.ts +2 -2
- package/lib/version.ts +1 -1
- package/package.json +5 -4
- package/plugin/build/index.js +4 -0
- package/plugin/build/ios/index.d.ts +2 -1
- package/plugin/build/ios/index.js +3 -1
- package/plugin/build/ios/openUrlFix.js +12 -0
- package/plugin/build/ios/sceneDelegate.d.ts +34 -0
- package/plugin/build/ios/sceneDelegate.js +127 -0
- package/plugin/build/ios/sceneLifecycle.d.ts +32 -0
- package/plugin/build/ios/sceneLifecycle.js +115 -0
- package/plugin/src/index.ts +9 -1
- package/plugin/src/ios/index.ts +2 -1
- package/plugin/src/ios/openUrlFix.ts +15 -0
- package/plugin/src/ios/sceneDelegate.ts +159 -0
- package/plugin/src/ios/sceneLifecycle.ts +134 -0
- package/plugin/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,311 @@
|
|
|
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
|
+
A90000000000000000000030 /* RNFBNullSentinelDecoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000031 /* RNFBNullSentinelDecoding.swift */; };
|
|
16
|
+
A90000000000000000000032 /* RNFBAuthNullSentinelDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000033 /* RNFBAuthNullSentinelDecoder.m */; };
|
|
17
|
+
A90000000000000000000038 /* RNFBAuthNullSentinelDecodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000039 /* RNFBAuthNullSentinelDecodeTests.m */; };
|
|
18
|
+
A90000000000000000000015 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A90000000000000000000014 /* XCTest.framework */; };
|
|
19
|
+
A90000000000000000000020 /* RNFBHandleMapStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000021 /* RNFBHandleMapStorage.swift */; };
|
|
20
|
+
A90000000000000000000022 /* RNFBAuthCacheRegistryStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000023 /* RNFBAuthCacheRegistryStorage.swift */; };
|
|
21
|
+
A90000000000000000000024 /* RNFBAuthCacheRegistryStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000025 /* RNFBAuthCacheRegistryStorageTests.swift */; };
|
|
22
|
+
A90000000000000000000026 /* RNFBAuthListenerRegistryStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000027 /* RNFBAuthListenerRegistryStorage.swift */; };
|
|
23
|
+
A90000000000000000000028 /* RNFBAuthListenerRegistryStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90000000000000000000029 /* RNFBAuthListenerRegistryStorageTests.swift */; };
|
|
24
|
+
A9000000000000000000002A /* RNFBAuthErrorCodeMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9000000000000000000002B /* RNFBAuthErrorCodeMapper.swift */; };
|
|
25
|
+
A9000000000000000000002C /* RNFBAuthErrorCodeMapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9000000000000000000002D /* RNFBAuthErrorCodeMapperTests.swift */; };
|
|
26
|
+
/* End PBXBuildFile section */
|
|
27
|
+
|
|
28
|
+
/* Begin PBXFileReference section */
|
|
29
|
+
A90000000000000000000003 /* RNFBAuthUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNFBAuthUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
30
|
+
A90000000000000000000007 /* RNFBHandleMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBHandleMap.h; path = ../../../app/ios/RNFBApp/RNFBHandleMap.h; sourceTree = SOURCE_ROOT; };
|
|
31
|
+
A90000000000000000000008 /* RNFBHandleMap.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBHandleMap.m; path = ../../../app/ios/RNFBApp/RNFBHandleMap.m; sourceTree = SOURCE_ROOT; };
|
|
32
|
+
A90000000000000000000009 /* RNFBAuthListenerRegistryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBAuthListenerRegistryTests.m; sourceTree = "<group>"; };
|
|
33
|
+
A90000000000000000000016 /* RNFBAuthListenerRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBAuthListenerRegistry.h; path = ../RNFBAuth/RNFBAuthListenerRegistry.h; sourceTree = SOURCE_ROOT; };
|
|
34
|
+
A90000000000000000000018 /* RNFBAuthListenerRegistry.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAuthListenerRegistry.m; path = ../RNFBAuth/RNFBAuthListenerRegistry.m; sourceTree = SOURCE_ROOT; };
|
|
35
|
+
A90000000000000000000019 /* RNFBAuthCacheRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBAuthCacheRegistry.h; path = ../RNFBAuth/RNFBAuthCacheRegistry.h; sourceTree = SOURCE_ROOT; };
|
|
36
|
+
A9000000000000000000001C /* RNFBAuthCacheRegistry.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAuthCacheRegistry.m; path = ../RNFBAuth/RNFBAuthCacheRegistry.m; sourceTree = SOURCE_ROOT; };
|
|
37
|
+
A9000000000000000000001D /* RNFBAuthCacheRegistryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBAuthCacheRegistryTests.m; sourceTree = "<group>"; };
|
|
38
|
+
A90000000000000000000031 /* RNFBNullSentinelDecoding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RNFBNullSentinelDecoding.swift; path = ../../../app/ios/RNFBApp/RNFBNullSentinelDecoding.swift; sourceTree = SOURCE_ROOT; };
|
|
39
|
+
A90000000000000000000033 /* RNFBAuthNullSentinelDecoder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAuthNullSentinelDecoder.m; path = ../RNFBAuth/RNFBAuthNullSentinelDecoder.m; sourceTree = SOURCE_ROOT; };
|
|
40
|
+
A9000000000000000000003B /* RNFBAuthNullSentinelDecoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBAuthNullSentinelDecoder.h; path = ../RNFBAuth/RNFBAuthNullSentinelDecoder.h; sourceTree = SOURCE_ROOT; };
|
|
41
|
+
A90000000000000000000039 /* RNFBAuthNullSentinelDecodeTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBAuthNullSentinelDecodeTests.m; sourceTree = "<group>"; };
|
|
42
|
+
A90000000000000000000014 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
|
43
|
+
A90000000000000000000021 /* RNFBHandleMapStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RNFBHandleMapStorage.swift; path = ../../../app/ios/RNFBApp/RNFBHandleMapStorage.swift; sourceTree = SOURCE_ROOT; };
|
|
44
|
+
A90000000000000000000023 /* RNFBAuthCacheRegistryStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RNFBAuthCacheRegistryStorage.swift; path = ../RNFBAuth/RNFBAuthCacheRegistryStorage.swift; sourceTree = SOURCE_ROOT; };
|
|
45
|
+
A90000000000000000000025 /* RNFBAuthCacheRegistryStorageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNFBAuthCacheRegistryStorageTests.swift; sourceTree = "<group>"; };
|
|
46
|
+
A90000000000000000000027 /* RNFBAuthListenerRegistryStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RNFBAuthListenerRegistryStorage.swift; path = ../RNFBAuth/RNFBAuthListenerRegistryStorage.swift; sourceTree = SOURCE_ROOT; };
|
|
47
|
+
A90000000000000000000029 /* RNFBAuthListenerRegistryStorageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNFBAuthListenerRegistryStorageTests.swift; sourceTree = "<group>"; };
|
|
48
|
+
A9000000000000000000002B /* RNFBAuthErrorCodeMapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RNFBAuthErrorCodeMapper.swift; path = ../RNFBAuth/RNFBAuthErrorCodeMapper.swift; sourceTree = SOURCE_ROOT; };
|
|
49
|
+
A9000000000000000000002D /* RNFBAuthErrorCodeMapperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNFBAuthErrorCodeMapperTests.swift; sourceTree = "<group>"; };
|
|
50
|
+
/* End PBXFileReference section */
|
|
51
|
+
|
|
52
|
+
/* Begin PBXFrameworksBuildPhase section */
|
|
53
|
+
A9000000000000000000000D /* Frameworks */ = {
|
|
54
|
+
isa = PBXFrameworksBuildPhase;
|
|
55
|
+
buildActionMask = 2147483647;
|
|
56
|
+
files = (
|
|
57
|
+
A90000000000000000000015 /* XCTest.framework in Frameworks */,
|
|
58
|
+
);
|
|
59
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
60
|
+
};
|
|
61
|
+
/* End PBXFrameworksBuildPhase section */
|
|
62
|
+
|
|
63
|
+
/* Begin PBXGroup section */
|
|
64
|
+
A90000000000000000000004 = {
|
|
65
|
+
isa = PBXGroup;
|
|
66
|
+
children = (
|
|
67
|
+
A90000000000000000000006 /* Sources */,
|
|
68
|
+
A90000000000000000000005 /* Products */,
|
|
69
|
+
);
|
|
70
|
+
sourceTree = "<group>";
|
|
71
|
+
};
|
|
72
|
+
A90000000000000000000005 /* Products */ = {
|
|
73
|
+
isa = PBXGroup;
|
|
74
|
+
children = (
|
|
75
|
+
A90000000000000000000003 /* RNFBAuthUnitTests.xctest */,
|
|
76
|
+
);
|
|
77
|
+
name = Products;
|
|
78
|
+
sourceTree = "<group>";
|
|
79
|
+
};
|
|
80
|
+
A90000000000000000000006 /* Sources */ = {
|
|
81
|
+
isa = PBXGroup;
|
|
82
|
+
children = (
|
|
83
|
+
A90000000000000000000007 /* RNFBHandleMap.h */,
|
|
84
|
+
A90000000000000000000008 /* RNFBHandleMap.m */,
|
|
85
|
+
A90000000000000000000021 /* RNFBHandleMapStorage.swift */,
|
|
86
|
+
A90000000000000000000016 /* RNFBAuthListenerRegistry.h */,
|
|
87
|
+
A90000000000000000000018 /* RNFBAuthListenerRegistry.m */,
|
|
88
|
+
A90000000000000000000027 /* RNFBAuthListenerRegistryStorage.swift */,
|
|
89
|
+
A90000000000000000000009 /* RNFBAuthListenerRegistryTests.m */,
|
|
90
|
+
A90000000000000000000029 /* RNFBAuthListenerRegistryStorageTests.swift */,
|
|
91
|
+
A90000000000000000000019 /* RNFBAuthCacheRegistry.h */,
|
|
92
|
+
A9000000000000000000001C /* RNFBAuthCacheRegistry.m */,
|
|
93
|
+
A90000000000000000000023 /* RNFBAuthCacheRegistryStorage.swift */,
|
|
94
|
+
A9000000000000000000001D /* RNFBAuthCacheRegistryTests.m */,
|
|
95
|
+
A90000000000000000000031 /* RNFBNullSentinelDecoding.swift */,
|
|
96
|
+
A9000000000000000000003B /* RNFBAuthNullSentinelDecoder.h */,
|
|
97
|
+
A90000000000000000000033 /* RNFBAuthNullSentinelDecoder.m */,
|
|
98
|
+
A90000000000000000000039 /* RNFBAuthNullSentinelDecodeTests.m */,
|
|
99
|
+
A90000000000000000000025 /* RNFBAuthCacheRegistryStorageTests.swift */,
|
|
100
|
+
A9000000000000000000002B /* RNFBAuthErrorCodeMapper.swift */,
|
|
101
|
+
A9000000000000000000002D /* RNFBAuthErrorCodeMapperTests.swift */,
|
|
102
|
+
);
|
|
103
|
+
name = Sources;
|
|
104
|
+
sourceTree = "<group>";
|
|
105
|
+
};
|
|
106
|
+
/* End PBXGroup section */
|
|
107
|
+
|
|
108
|
+
/* Begin PBXNativeTarget section */
|
|
109
|
+
A90000000000000000000002 /* RNFBAuthUnitTests */ = {
|
|
110
|
+
isa = PBXNativeTarget;
|
|
111
|
+
buildConfigurationList = A90000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAuthUnitTests" */;
|
|
112
|
+
buildPhases = (
|
|
113
|
+
A9000000000000000000000E /* Sources */,
|
|
114
|
+
A9000000000000000000000D /* Frameworks */,
|
|
115
|
+
);
|
|
116
|
+
buildRules = (
|
|
117
|
+
);
|
|
118
|
+
dependencies = (
|
|
119
|
+
);
|
|
120
|
+
name = RNFBAuthUnitTests;
|
|
121
|
+
productName = RNFBAuthUnitTests;
|
|
122
|
+
productReference = A90000000000000000000003 /* RNFBAuthUnitTests.xctest */;
|
|
123
|
+
productType = "com.apple.product-type.bundle.unit-test";
|
|
124
|
+
};
|
|
125
|
+
/* End PBXNativeTarget section */
|
|
126
|
+
|
|
127
|
+
/* Begin PBXProject section */
|
|
128
|
+
A90000000000000000000001 /* Project object */ = {
|
|
129
|
+
isa = PBXProject;
|
|
130
|
+
attributes = {
|
|
131
|
+
BuildIndependentTargetsInParallel = 1;
|
|
132
|
+
LastUpgradeCheck = 2600;
|
|
133
|
+
ORGANIZATIONNAME = Invertase;
|
|
134
|
+
TargetAttributes = {
|
|
135
|
+
A90000000000000000000002 = {
|
|
136
|
+
CreatedOnToolsVersion = 26.0;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
buildConfigurationList = A90000000000000000000012 /* Build configuration list for PBXProject "RNFBAuthUnitTests" */;
|
|
141
|
+
compatibilityVersion = "Xcode 14.0";
|
|
142
|
+
developmentRegion = en;
|
|
143
|
+
hasScannedForEncodings = 0;
|
|
144
|
+
knownRegions = (
|
|
145
|
+
en,
|
|
146
|
+
Base,
|
|
147
|
+
);
|
|
148
|
+
mainGroup = A90000000000000000000004;
|
|
149
|
+
productRefGroup = A90000000000000000000005 /* Products */;
|
|
150
|
+
projectDirPath = "";
|
|
151
|
+
projectRoot = "";
|
|
152
|
+
targets = (
|
|
153
|
+
A90000000000000000000002 /* RNFBAuthUnitTests */,
|
|
154
|
+
);
|
|
155
|
+
};
|
|
156
|
+
/* End PBXProject section */
|
|
157
|
+
|
|
158
|
+
/* Begin PBXSourcesBuildPhase section */
|
|
159
|
+
A9000000000000000000000E /* Sources */ = {
|
|
160
|
+
isa = PBXSourcesBuildPhase;
|
|
161
|
+
buildActionMask = 2147483647;
|
|
162
|
+
files = (
|
|
163
|
+
A9000000000000000000000A /* RNFBHandleMap.m in Sources */,
|
|
164
|
+
A90000000000000000000020 /* RNFBHandleMapStorage.swift in Sources */,
|
|
165
|
+
A9000000000000000000000B /* RNFBAuthListenerRegistry.m in Sources */,
|
|
166
|
+
A90000000000000000000026 /* RNFBAuthListenerRegistryStorage.swift in Sources */,
|
|
167
|
+
A9000000000000000000000C /* RNFBAuthListenerRegistryTests.m in Sources */,
|
|
168
|
+
A90000000000000000000028 /* RNFBAuthListenerRegistryStorageTests.swift in Sources */,
|
|
169
|
+
A9000000000000000000001E /* RNFBAuthCacheRegistry.m in Sources */,
|
|
170
|
+
A90000000000000000000022 /* RNFBAuthCacheRegistryStorage.swift in Sources */,
|
|
171
|
+
A9000000000000000000001F /* RNFBAuthCacheRegistryTests.m in Sources */,
|
|
172
|
+
A90000000000000000000030 /* RNFBNullSentinelDecoding.swift in Sources */,
|
|
173
|
+
A90000000000000000000032 /* RNFBAuthNullSentinelDecoder.m in Sources */,
|
|
174
|
+
A90000000000000000000038 /* RNFBAuthNullSentinelDecodeTests.m in Sources */,
|
|
175
|
+
A90000000000000000000024 /* RNFBAuthCacheRegistryStorageTests.swift in Sources */,
|
|
176
|
+
A9000000000000000000002A /* RNFBAuthErrorCodeMapper.swift in Sources */,
|
|
177
|
+
A9000000000000000000002C /* RNFBAuthErrorCodeMapperTests.swift in Sources */,
|
|
178
|
+
);
|
|
179
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
180
|
+
};
|
|
181
|
+
/* End PBXSourcesBuildPhase section */
|
|
182
|
+
|
|
183
|
+
/* Begin XCBuildConfiguration section */
|
|
184
|
+
A9000000000000000000001A /* Debug */ = {
|
|
185
|
+
isa = XCBuildConfiguration;
|
|
186
|
+
buildSettings = {
|
|
187
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
188
|
+
CLANG_ENABLE_MODULES = YES;
|
|
189
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
190
|
+
COPY_PHASE_STRIP = NO;
|
|
191
|
+
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
192
|
+
ENABLE_TESTABILITY = YES;
|
|
193
|
+
GCC_C_LANGUAGE_STANDARD = gnu17;
|
|
194
|
+
GCC_DYNAMIC_NO_PIC = NO;
|
|
195
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
|
196
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
197
|
+
ONLY_ACTIVE_ARCH = YES;
|
|
198
|
+
SDKROOT = macosx;
|
|
199
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
200
|
+
};
|
|
201
|
+
name = Debug;
|
|
202
|
+
};
|
|
203
|
+
A9000000000000000000001B /* Release */ = {
|
|
204
|
+
isa = XCBuildConfiguration;
|
|
205
|
+
buildSettings = {
|
|
206
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
207
|
+
CLANG_ENABLE_MODULES = YES;
|
|
208
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
209
|
+
COPY_PHASE_STRIP = YES;
|
|
210
|
+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
211
|
+
GCC_C_LANGUAGE_STANDARD = gnu17;
|
|
212
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
213
|
+
SDKROOT = macosx;
|
|
214
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
215
|
+
};
|
|
216
|
+
name = Release;
|
|
217
|
+
};
|
|
218
|
+
A90000000000000000000010 /* Debug */ = {
|
|
219
|
+
isa = XCBuildConfiguration;
|
|
220
|
+
buildSettings = {
|
|
221
|
+
CLANG_ENABLE_CODE_COVERAGE = YES;
|
|
222
|
+
CODE_SIGNING_ALLOWED = NO;
|
|
223
|
+
CODE_SIGNING_REQUIRED = NO;
|
|
224
|
+
CODE_SIGN_IDENTITY = "-";
|
|
225
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
226
|
+
DEFINES_MODULE = YES;
|
|
227
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
228
|
+
HEADER_SEARCH_PATHS = (
|
|
229
|
+
"$(SRCROOT)",
|
|
230
|
+
"$(SRCROOT)/../../../app/ios",
|
|
231
|
+
"$(SRCROOT)/../../../app/ios/RNFBApp",
|
|
232
|
+
"$(SRCROOT)/../RNFBAuth",
|
|
233
|
+
);
|
|
234
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
235
|
+
"$(inherited)",
|
|
236
|
+
"@executable_path/../Frameworks",
|
|
237
|
+
"@loader_path/../Frameworks",
|
|
238
|
+
);
|
|
239
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
240
|
+
OTHER_CFLAGS = (
|
|
241
|
+
"-fprofile-instr-generate",
|
|
242
|
+
"-fcoverage-mapping",
|
|
243
|
+
);
|
|
244
|
+
OTHER_LDFLAGS = (
|
|
245
|
+
"-fprofile-instr-generate",
|
|
246
|
+
);
|
|
247
|
+
PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAuthUnitTests;
|
|
248
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
249
|
+
SDKROOT = macosx;
|
|
250
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
251
|
+
SWIFT_OBJC_INTERFACE_HEADER_NAME = "RNFBHandleMapStorage-Swift.inc";
|
|
252
|
+
SWIFT_VERSION = 5.10;
|
|
253
|
+
};
|
|
254
|
+
name = Debug;
|
|
255
|
+
};
|
|
256
|
+
A90000000000000000000011 /* Release */ = {
|
|
257
|
+
isa = XCBuildConfiguration;
|
|
258
|
+
buildSettings = {
|
|
259
|
+
CLANG_ENABLE_CODE_COVERAGE = YES;
|
|
260
|
+
CODE_SIGNING_ALLOWED = NO;
|
|
261
|
+
CODE_SIGNING_REQUIRED = NO;
|
|
262
|
+
CODE_SIGN_IDENTITY = "-";
|
|
263
|
+
COMBINE_HIDPI_IMAGES = YES;
|
|
264
|
+
DEFINES_MODULE = YES;
|
|
265
|
+
GENERATE_INFOPLIST_FILE = YES;
|
|
266
|
+
HEADER_SEARCH_PATHS = (
|
|
267
|
+
"$(SRCROOT)",
|
|
268
|
+
"$(SRCROOT)/../../../app/ios",
|
|
269
|
+
"$(SRCROOT)/../../../app/ios/RNFBApp",
|
|
270
|
+
"$(SRCROOT)/../RNFBAuth",
|
|
271
|
+
);
|
|
272
|
+
LD_RUNPATH_SEARCH_PATHS = (
|
|
273
|
+
"$(inherited)",
|
|
274
|
+
"@executable_path/../Frameworks",
|
|
275
|
+
"@loader_path/../Frameworks",
|
|
276
|
+
);
|
|
277
|
+
MACOSX_DEPLOYMENT_TARGET = 14.0;
|
|
278
|
+
PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAuthUnitTests;
|
|
279
|
+
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
280
|
+
SDKROOT = macosx;
|
|
281
|
+
SUPPORTED_PLATFORMS = macosx;
|
|
282
|
+
SWIFT_OBJC_INTERFACE_HEADER_NAME = "RNFBHandleMapStorage-Swift.inc";
|
|
283
|
+
SWIFT_VERSION = 5.10;
|
|
284
|
+
};
|
|
285
|
+
name = Release;
|
|
286
|
+
};
|
|
287
|
+
/* End XCBuildConfiguration section */
|
|
288
|
+
|
|
289
|
+
/* Begin XCConfigurationList section */
|
|
290
|
+
A90000000000000000000012 /* Build configuration list for PBXProject "RNFBAuthUnitTests" */ = {
|
|
291
|
+
isa = XCConfigurationList;
|
|
292
|
+
buildConfigurations = (
|
|
293
|
+
A9000000000000000000001A /* Debug */,
|
|
294
|
+
A9000000000000000000001B /* Release */,
|
|
295
|
+
);
|
|
296
|
+
defaultConfigurationIsVisible = 0;
|
|
297
|
+
defaultConfigurationName = Debug;
|
|
298
|
+
};
|
|
299
|
+
A90000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAuthUnitTests" */ = {
|
|
300
|
+
isa = XCConfigurationList;
|
|
301
|
+
buildConfigurations = (
|
|
302
|
+
A90000000000000000000010 /* Debug */,
|
|
303
|
+
A90000000000000000000011 /* Release */,
|
|
304
|
+
);
|
|
305
|
+
defaultConfigurationIsVisible = 0;
|
|
306
|
+
defaultConfigurationName = Debug;
|
|
307
|
+
};
|
|
308
|
+
/* End XCConfigurationList section */
|
|
309
|
+
};
|
|
310
|
+
rootObject = A90000000000000000000001 /* Project object */;
|
|
311
|
+
}
|
|
@@ -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/index.ts
CHANGED
|
@@ -47,11 +47,11 @@ import {
|
|
|
47
47
|
parseListenerOrObserver,
|
|
48
48
|
} from '@react-native-firebase/app/dist/module/common';
|
|
49
49
|
import type { ReactNativeFirebase } from '@react-native-firebase/app';
|
|
50
|
-
import { setReactNativeModule } from '@react-native-firebase/app/dist/module/internal/nativeModule';
|
|
51
50
|
import {
|
|
52
51
|
FirebaseModule,
|
|
53
52
|
getOrCreateModularInstance,
|
|
54
53
|
type ModuleConfig,
|
|
54
|
+
setReactNativeModule,
|
|
55
55
|
} from '@react-native-firebase/app/dist/module/internal';
|
|
56
56
|
import ConfirmationResultClass from './ConfirmationResult';
|
|
57
57
|
import { ActionCodeURL } from './ActionCodeURL';
|
package/lib/types/internal.ts
CHANGED
|
@@ -20,8 +20,8 @@ import type {} from '@react-native-firebase/app/dist/module/internal/NativeModul
|
|
|
20
20
|
import type {
|
|
21
21
|
ModuleConfig,
|
|
22
22
|
NativeErrorUserInfo,
|
|
23
|
+
ReactNativeFirebaseEventEmitter,
|
|
23
24
|
} from '@react-native-firebase/app/dist/module/types/internal';
|
|
24
|
-
import type EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';
|
|
25
25
|
import type {
|
|
26
26
|
ActionCodeInfo,
|
|
27
27
|
ActionCodeSettings,
|
|
@@ -411,7 +411,7 @@ export type AuthInternal = Auth & {
|
|
|
411
411
|
verifyPasswordResetCode(code: string): Promise<string>;
|
|
412
412
|
revokeToken(authorizationCode: string): Promise<void>;
|
|
413
413
|
native: RNFBAuthModule;
|
|
414
|
-
emitter:
|
|
414
|
+
emitter: ReactNativeFirebaseEventEmitter;
|
|
415
415
|
eventNameForApp(...args: Array<string | number>): string;
|
|
416
416
|
_config: ModuleConfig;
|
|
417
417
|
_tenantId: string | null;
|
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/auth",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "27.0.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": "
|
|
50
|
+
"@react-native-firebase/app": "27.0.0",
|
|
50
51
|
"expo": ">=47.0.0"
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|
|
53
|
-
"@react-native-firebase/app": "
|
|
54
|
+
"@react-native-firebase/app": "27.0.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": "0c7e942bca361f1765abaf233bf447d795718eff"
|
|
105
106
|
}
|
package/plugin/build/index.js
CHANGED
|
@@ -9,7 +9,11 @@ const withRnFirebaseAuth = (config, props) => {
|
|
|
9
9
|
return (0, config_plugins_1.withPlugins)(config, [
|
|
10
10
|
// iOS
|
|
11
11
|
[ios_1.withIosCaptchaUrlTypes, props],
|
|
12
|
+
// The two openURL fixes are mutually exclusive and detect which applies at prebuild time:
|
|
13
|
+
// app-delegate life cycle patches `AppDelegate.swift`, UIScene life cycle (Expo SDK 58+)
|
|
14
|
+
// patches `SceneDelegate.swift`.
|
|
12
15
|
[ios_1.withIosCaptchaOpenUrlFix, props],
|
|
16
|
+
[ios_1.withIosCaptchaSceneDelegateFix, props],
|
|
13
17
|
]);
|
|
14
18
|
};
|
|
15
19
|
const pak = require('@react-native-firebase/auth/package.json');
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { withIosCaptchaUrlTypes } from './urlTypes';
|
|
2
2
|
import { withIosCaptchaOpenUrlFix } from './openUrlFix';
|
|
3
|
-
|
|
3
|
+
import { withIosCaptchaSceneDelegateFix } from './sceneDelegate';
|
|
4
|
+
export { withIosCaptchaUrlTypes, withIosCaptchaOpenUrlFix, withIosCaptchaSceneDelegateFix };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withIosCaptchaOpenUrlFix = exports.withIosCaptchaUrlTypes = void 0;
|
|
3
|
+
exports.withIosCaptchaSceneDelegateFix = exports.withIosCaptchaOpenUrlFix = exports.withIosCaptchaUrlTypes = void 0;
|
|
4
4
|
const urlTypes_1 = require("./urlTypes");
|
|
5
5
|
Object.defineProperty(exports, "withIosCaptchaUrlTypes", { enumerable: true, get: function () { return urlTypes_1.withIosCaptchaUrlTypes; } });
|
|
6
6
|
const openUrlFix_1 = require("./openUrlFix");
|
|
7
7
|
Object.defineProperty(exports, "withIosCaptchaOpenUrlFix", { enumerable: true, get: function () { return openUrlFix_1.withIosCaptchaOpenUrlFix; } });
|
|
8
|
+
const sceneDelegate_1 = require("./sceneDelegate");
|
|
9
|
+
Object.defineProperty(exports, "withIosCaptchaSceneDelegateFix", { enumerable: true, get: function () { return sceneDelegate_1.withIosCaptchaSceneDelegateFix; } });
|
|
@@ -10,6 +10,7 @@ exports.isFirebaseSwizzlingDisabled = isFirebaseSwizzlingDisabled;
|
|
|
10
10
|
exports.ensureFirebaseSwizzlingIsEnabled = ensureFirebaseSwizzlingIsEnabled;
|
|
11
11
|
const config_plugins_1 = require("@expo/config-plugins");
|
|
12
12
|
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
|
|
13
|
+
const sceneLifecycle_1 = require("./sceneLifecycle");
|
|
13
14
|
const withIosCaptchaOpenUrlFix = (config, props) => {
|
|
14
15
|
// check configuration
|
|
15
16
|
if (!shouldApplyIosOpenUrlFix({ config, props })) {
|
|
@@ -46,6 +47,17 @@ function withOpenUrlFixForAppDelegate({ config, props, }) {
|
|
|
46
47
|
const configValue = props?.ios?.captchaOpenUrlFix || 'default';
|
|
47
48
|
const newContents = modifyAppDelegate(contents, language);
|
|
48
49
|
if (newContents === null) {
|
|
50
|
+
// Under the UIScene life cycle (Xcode 27+) UIKit stops calling `application(_:open:options:)` and the
|
|
51
|
+
// template drops the method. `withIosCaptchaSceneDelegateFix` patches `SceneDelegate.swift` instead.
|
|
52
|
+
const platformProjectRoot = config.modRequest.platformProjectRoot;
|
|
53
|
+
if ((0, sceneLifecycle_1.findSceneDelegateFile)(platformProjectRoot) !== null) {
|
|
54
|
+
return config;
|
|
55
|
+
}
|
|
56
|
+
if ((0, sceneLifecycle_1.infoPlistDeclaresSceneManifest)(platformProjectRoot)) {
|
|
57
|
+
// Scene life cycle declared but no SceneDelegate.swift to patch: neither plugin can apply the fix.
|
|
58
|
+
config_plugins_1.WarningAggregator.addWarningIOS('@react-native-firebase/auth', 'Skipping iOS openURL fix because Info.plist declares UIApplicationSceneManifest but no SceneDelegate.swift was found. Firebase Auth reCAPTCHA redirect URLs may be forwarded to your router.');
|
|
59
|
+
return config;
|
|
60
|
+
}
|
|
49
61
|
if (configValue === true) {
|
|
50
62
|
throw new Error("Failed to apply iOS openURL fix because no 'openURL' method was found");
|
|
51
63
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
+
import { PluginConfigType } from '../pluginConfig';
|
|
3
|
+
export declare const generatedTag = "@react-native-firebase/auth-openURL";
|
|
4
|
+
/**
|
|
5
|
+
* Warm-path contract for the SceneDelegate reCAPTCHA patch.
|
|
6
|
+
*
|
|
7
|
+
* Firebase Auth presents reCAPTCHA in an in-app `SFSafariViewController` / auth session while the
|
|
8
|
+
* app is already running, then returns via a custom-scheme URL. Upstream documents and samples
|
|
9
|
+
* handle that return only in `scene(_:openURLContexts:)` (see Firebase phone-auth appendix and the
|
|
10
|
+
* Auth quickstart `SceneDelegate`); they do not route Auth reCAPTCHA through
|
|
11
|
+
* `scene(_:willConnectTo:options:)`. A cold start would also drop Auth's in-memory pending
|
|
12
|
+
* verification, so this plugin intentionally patches the warm path only.
|
|
13
|
+
*/
|
|
14
|
+
export declare const sceneDelegateWarmPathContract: {
|
|
15
|
+
readonly handlesOpenURLContexts: true;
|
|
16
|
+
readonly handlesWillConnectTo: false;
|
|
17
|
+
readonly evidence: readonly ["https://firebase.google.com/docs/auth/ios/phone-auth#appendix:-using-phone-sign-in-without-swizzling", "https://github.com/firebase/quickstart-ios/blob/main/authentication/AuthenticationExample/SceneDelegate.swift"];
|
|
18
|
+
};
|
|
19
|
+
export declare const sceneDelegateFirebaseAuthImport = "import FirebaseAuth";
|
|
20
|
+
export declare const sceneDelegateOpenUrlBlock: string;
|
|
21
|
+
/**
|
|
22
|
+
* Add an `openURLContexts` override that lets Firebase Auth handle reCAPTCHA redirects, then
|
|
23
|
+
* forwards only unhandled contexts to `super` (Expo Router / RCTLinkingManager).
|
|
24
|
+
*
|
|
25
|
+
* Returns the modified contents, or null when the patch does not apply (already present, or the
|
|
26
|
+
* file is not a recognizable `SceneDelegate` subclass).
|
|
27
|
+
*/
|
|
28
|
+
export declare function modifySceneDelegate(contents: string): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Applies the reCAPTCHA `openURL` fix to `SceneDelegate.swift` on projects that use the UIScene
|
|
31
|
+
* life cycle. On projects that still use the app-delegate life cycle this is a no-op, the
|
|
32
|
+
* `withIosCaptchaOpenUrlFix` plugin handles those.
|
|
33
|
+
*/
|
|
34
|
+
export declare const withIosCaptchaSceneDelegateFix: ConfigPlugin<PluginConfigType>;
|