@react-native-firebase/auth 25.0.1 → 26.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 +30 -0
- package/RNFBAuth.podspec +14 -6
- package/android/build.gradle +23 -0
- package/android/src/main/java/io/invertase/firebase/auth/{ReactNativeFirebaseAuthModule.java → NativeRNFBTurboAuth.java} +122 -102
- package/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthPackage.java +1 -1
- package/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthSyncException.java +35 -0
- package/android/src/main/java/io/invertase/firebase/auth/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAuthSpec.java +308 -0
- package/android/src/main/java/io/invertase/firebase/auth/generated/jni/CMakeLists.txt +36 -0
- package/android/src/main/java/io/invertase/firebase/auth/generated/jni/RNFBAuthTurboModules-generated.cpp +392 -0
- package/android/src/main/java/io/invertase/firebase/auth/generated/jni/RNFBAuthTurboModules.h +31 -0
- package/android/src/main/java/io/invertase/firebase/auth/generated/jni/react/renderer/components/RNFBAuthTurboModules/RNFBAuthTurboModulesJSI-generated.cpp +538 -0
- package/android/src/main/java/io/invertase/firebase/auth/generated/jni/react/renderer/components/RNFBAuthTurboModules/RNFBAuthTurboModulesJSI.h +611 -0
- package/app.plugin.js +1 -1
- package/dist/module/ActionCodeURL.js.map +1 -1
- package/dist/module/ConfirmationResult.js.map +1 -1
- package/dist/module/MultiFactorResolver.js.map +1 -1
- package/dist/module/PhoneAuthListener.js +3 -4
- package/dist/module/PhoneAuthListener.js.map +1 -1
- package/dist/module/TotpMultiFactorGenerator.js +1 -1
- package/dist/module/TotpMultiFactorGenerator.js.map +1 -1
- package/dist/module/TotpSecret.js +15 -9
- package/dist/module/TotpSecret.js.map +1 -1
- package/dist/module/User.js +1 -1
- package/dist/module/User.js.map +1 -1
- package/dist/module/credentials/EmailAuthCredential.js.map +1 -1
- package/dist/module/credentials/OAuthCredential.js.map +1 -1
- package/dist/module/getMultiFactorResolver.js +2 -2
- package/dist/module/getMultiFactorResolver.js.map +1 -1
- package/dist/module/index.js +1221 -6
- package/dist/module/index.js.map +1 -1
- package/dist/module/internal/syncNativeError.js +75 -0
- package/dist/module/internal/syncNativeError.js.map +1 -0
- package/dist/module/multiFactor.js +5 -3
- package/dist/module/multiFactor.js.map +1 -1
- package/dist/module/providers/OIDCAuthProvider.js.map +1 -1
- package/dist/module/providers/PhoneAuthProvider.js +4 -4
- package/dist/module/providers/PhoneAuthProvider.js.map +1 -1
- package/dist/module/types/auth.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/web/RNFBAuthModule.js +13 -7
- package/dist/module/web/RNFBAuthModule.js.map +1 -1
- package/dist/typescript/lib/ActionCodeURL.d.ts.map +1 -1
- package/dist/typescript/lib/ConfirmationResult.d.ts +2 -2
- package/dist/typescript/lib/ConfirmationResult.d.ts.map +1 -1
- package/dist/typescript/lib/MultiFactorResolver.d.ts +6 -6
- package/dist/typescript/lib/MultiFactorResolver.d.ts.map +1 -1
- package/dist/typescript/lib/PhoneAuthListener.d.ts +1 -4
- package/dist/typescript/lib/PhoneAuthListener.d.ts.map +1 -1
- package/dist/typescript/lib/TotpSecret.d.ts +2 -4
- package/dist/typescript/lib/TotpSecret.d.ts.map +1 -1
- package/dist/typescript/lib/User.d.ts +13 -13
- package/dist/typescript/lib/User.d.ts.map +1 -1
- package/dist/typescript/lib/credentials/EmailAuthCredential.d.ts.map +1 -1
- package/dist/typescript/lib/credentials/OAuthCredential.d.ts.map +1 -1
- package/dist/typescript/lib/getMultiFactorResolver.d.ts +5 -5
- package/dist/typescript/lib/getMultiFactorResolver.d.ts.map +1 -1
- package/dist/typescript/lib/index.d.ts +377 -4
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/internal/syncNativeError.d.ts +6 -0
- package/dist/typescript/lib/internal/syncNativeError.d.ts.map +1 -0
- package/dist/typescript/lib/multiFactor.d.ts +9 -9
- package/dist/typescript/lib/multiFactor.d.ts.map +1 -1
- package/dist/typescript/lib/providers/OIDCAuthProvider.d.ts.map +1 -1
- package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts.map +1 -1
- package/dist/typescript/lib/types/auth.d.ts +13 -0
- package/dist/typescript/lib/types/auth.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +44 -47
- package/dist/typescript/lib/types/internal.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/dist/typescript/lib/web/RNFBAuthModule.d.ts +4 -4
- package/dist/typescript/lib/web/RNFBAuthModule.d.ts.map +1 -1
- package/ios/RNFBAuth/RNFBAuthModule.h +2 -2
- package/ios/RNFBAuth/{RNFBAuthModule.m → RNFBAuthModule.mm} +408 -297
- package/ios/RNFBAuth.xcodeproj/project.pbxproj +8 -8
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNFBAuthTurboModules/RNFBAuthTurboModules-generated.mm +459 -0
- package/ios/generated/RNFBAuthTurboModules/RNFBAuthTurboModules.h +341 -0
- package/ios/generated/RNFBAuthTurboModulesJSI-generated.cpp +538 -0
- package/ios/generated/RNFBAuthTurboModulesJSI.h +611 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/ActionCodeURL.ts +3 -9
- package/lib/ConfirmationResult.ts +3 -6
- package/lib/MultiFactorResolver.ts +8 -8
- package/lib/PhoneAuthListener.ts +6 -10
- package/lib/TotpMultiFactorGenerator.ts +1 -1
- package/lib/TotpSecret.ts +22 -9
- package/lib/User.ts +38 -51
- package/lib/credentials/EmailAuthCredential.ts +1 -5
- package/lib/credentials/OAuthCredential.ts +4 -1
- package/lib/getMultiFactorResolver.ts +9 -9
- package/lib/index.ts +1836 -6
- package/lib/internal/syncNativeError.ts +89 -0
- package/lib/multiFactor.ts +24 -18
- package/lib/providers/OIDCAuthProvider.ts +1 -5
- package/lib/providers/PhoneAuthProvider.ts +9 -22
- package/lib/types/auth.ts +15 -0
- package/lib/types/internal.ts +68 -73
- package/lib/version.ts +1 -1
- package/lib/web/RNFBAuthModule.ts +13 -10
- package/package.json +30 -4
- package/plugin/build/app.plugin.d.ts +2 -0
- package/plugin/build/app.plugin.js +6 -0
- package/plugin/src/app.plugin.ts +3 -0
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/react-native.config.js +9 -0
- package/specs/NativeRNFBTurboAuth.ts +143 -0
- package/typedoc.json +0 -1
- package/dist/module/modular.js +0 -793
- package/dist/module/modular.js.map +0 -1
- package/dist/module/namespaced.js +0 -522
- package/dist/module/namespaced.js.map +0 -1
- package/dist/module/types/namespaced.js +0 -62
- package/dist/module/types/namespaced.js.map +0 -1
- package/dist/typescript/lib/modular.d.ts +0 -370
- package/dist/typescript/lib/modular.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -12
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/dist/typescript/lib/types/namespaced.d.ts +0 -2185
- package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
- package/lib/modular.ts +0 -1172
- package/lib/namespaced.ts +0 -846
- package/lib/types/namespaced.ts +0 -2350
|
@@ -22,6 +22,13 @@
|
|
|
22
22
|
#import "RNFBApp/RNFBAppModule.h"
|
|
23
23
|
#import "RNFBApp/RNFBSharedUtils.h"
|
|
24
24
|
#import "RNFBAuthModule.h"
|
|
25
|
+
#import "RNFBAuthTurboModules.h"
|
|
26
|
+
|
|
27
|
+
static void RNFBAuthThrowSyncErrorWithCode(NSString *code, NSString *message) {
|
|
28
|
+
@throw [NSException exceptionWithName:code
|
|
29
|
+
reason:message
|
|
30
|
+
userInfo:@{@"code" : code, @"message" : message}];
|
|
31
|
+
}
|
|
25
32
|
|
|
26
33
|
static NSString *const keyIOS = @"iOS";
|
|
27
34
|
static NSString *const keyUrl = @"url";
|
|
@@ -65,10 +72,15 @@ static __strong NSMutableDictionary<NSString *, FIRTOTPSecret *> *cachedTotpSecr
|
|
|
65
72
|
#pragma mark -
|
|
66
73
|
#pragma mark Module Setup
|
|
67
74
|
|
|
68
|
-
RCT_EXPORT_MODULE();
|
|
75
|
+
RCT_EXPORT_MODULE(NativeRNFBTurboAuth);
|
|
69
76
|
|
|
70
77
|
+ (BOOL)requiresMainQueueSetup {
|
|
71
|
-
return
|
|
78
|
+
return NO;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
82
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
83
|
+
return std::make_shared<facebook::react::NativeRNFBTurboAuthSpecJSI>(params);
|
|
72
84
|
}
|
|
73
85
|
|
|
74
86
|
- (id)init {
|
|
@@ -119,7 +131,9 @@ RCT_EXPORT_MODULE();
|
|
|
119
131
|
#pragma mark -
|
|
120
132
|
#pragma mark Firebase Auth Methods
|
|
121
133
|
|
|
122
|
-
|
|
134
|
+
- (void)addAuthStateListener:(NSString *)appName {
|
|
135
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
136
|
+
|
|
123
137
|
if (![authStateHandlers valueForKey:firebaseApp.name]) {
|
|
124
138
|
FIRAuthStateDidChangeListenerHandle newListenerHandle = [[FIRAuth authWithApp:firebaseApp]
|
|
125
139
|
addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
|
|
@@ -135,7 +149,9 @@ RCT_EXPORT_METHOD(addAuthStateListener : (FIRApp *)firebaseApp) {
|
|
|
135
149
|
}
|
|
136
150
|
}
|
|
137
151
|
|
|
138
|
-
|
|
152
|
+
- (void)removeAuthStateListener:(NSString *)appName {
|
|
153
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
154
|
+
|
|
139
155
|
if ([authStateHandlers valueForKey:firebaseApp.name]) {
|
|
140
156
|
[[FIRAuth authWithApp:firebaseApp]
|
|
141
157
|
removeAuthStateDidChangeListener:[authStateHandlers valueForKey:firebaseApp.name]];
|
|
@@ -143,7 +159,9 @@ RCT_EXPORT_METHOD(removeAuthStateListener : (FIRApp *)firebaseApp) {
|
|
|
143
159
|
}
|
|
144
160
|
}
|
|
145
161
|
|
|
146
|
-
|
|
162
|
+
- (void)addIdTokenListener:(NSString *)appName {
|
|
163
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
164
|
+
|
|
147
165
|
if (![idTokenHandlers valueForKey:firebaseApp.name]) {
|
|
148
166
|
FIRIDTokenDidChangeListenerHandle newListenerHandle = [[FIRAuth authWithApp:firebaseApp]
|
|
149
167
|
addIDTokenDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
|
|
@@ -161,7 +179,9 @@ RCT_EXPORT_METHOD(addIdTokenListener : (FIRApp *)firebaseApp) {
|
|
|
161
179
|
}
|
|
162
180
|
}
|
|
163
181
|
|
|
164
|
-
|
|
182
|
+
- (void)removeIdTokenListener:(NSString *)appName {
|
|
183
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
184
|
+
|
|
165
185
|
if ([idTokenHandlers valueForKey:firebaseApp.name]) {
|
|
166
186
|
[[FIRAuth authWithApp:firebaseApp]
|
|
167
187
|
removeIDTokenDidChangeListener:[idTokenHandlers valueForKey:firebaseApp.name]];
|
|
@@ -169,7 +189,9 @@ RCT_EXPORT_METHOD(removeIdTokenListener : (FIRApp *)firebaseApp) {
|
|
|
169
189
|
}
|
|
170
190
|
}
|
|
171
191
|
|
|
172
|
-
|
|
192
|
+
- (void)configureAuthDomain:(NSString *)appName {
|
|
193
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
194
|
+
|
|
173
195
|
NSString *authDomain = [RNFBAppModule getCustomDomain:firebaseApp.name];
|
|
174
196
|
DLog(@"RNFBAuth app: %@ customAuthDomain: %@", firebaseApp.name, authDomain);
|
|
175
197
|
if (authDomain != nil) {
|
|
@@ -177,22 +199,45 @@ RCT_EXPORT_METHOD(configureAuthDomain : (FIRApp *)firebaseApp) {
|
|
|
177
199
|
}
|
|
178
200
|
}
|
|
179
201
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
202
|
+
- (void)getCustomAuthDomain:(NSString *)appName
|
|
203
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
204
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
205
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
206
|
+
|
|
184
207
|
resolve([FIRAuth authWithApp:firebaseApp].customAuthDomain);
|
|
185
208
|
}
|
|
186
209
|
|
|
187
|
-
|
|
210
|
+
- (void)setAppVerificationDisabledForTesting:(NSString *)appName
|
|
211
|
+
disabled:(BOOL)disabled
|
|
212
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
213
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
214
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
215
|
+
|
|
188
216
|
[FIRAuth authWithApp:firebaseApp].settings.appVerificationDisabledForTesting = disabled;
|
|
217
|
+
resolve([NSNull null]);
|
|
189
218
|
}
|
|
190
219
|
|
|
191
|
-
|
|
192
|
-
:
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
220
|
+
- (void)forceRecaptchaFlowForTesting:(NSString *)appName
|
|
221
|
+
forceRecaptchaFlow:(BOOL)forceRecaptchaFlow
|
|
222
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
223
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
224
|
+
resolve([NSNull null]);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
- (void)setAutoRetrievedSmsCodeForPhoneNumber:(NSString *)appName
|
|
228
|
+
phoneNumber:(NSString *)phoneNumber
|
|
229
|
+
smsCode:(NSString *)smsCode
|
|
230
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
231
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
232
|
+
resolve([NSNull null]);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
- (void)useUserAccessGroup:(NSString *)appName
|
|
236
|
+
userAccessGroup:(NSString *)userAccessGroup
|
|
237
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
238
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
239
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
240
|
+
|
|
196
241
|
NSError *error;
|
|
197
242
|
[[FIRAuth authWithApp:firebaseApp] useUserAccessGroup:userAccessGroup error:&error];
|
|
198
243
|
|
|
@@ -204,10 +249,11 @@ RCT_EXPORT_METHOD(useUserAccessGroup
|
|
|
204
249
|
return;
|
|
205
250
|
}
|
|
206
251
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
252
|
+
- (void)signOut:(NSString *)appName
|
|
253
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
254
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
255
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
256
|
+
|
|
211
257
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
212
258
|
|
|
213
259
|
if (user) {
|
|
@@ -224,10 +270,11 @@ RCT_EXPORT_METHOD(signOut
|
|
|
224
270
|
[self promiseNoUser:resolve rejecter:reject isError:YES];
|
|
225
271
|
}
|
|
226
272
|
|
|
227
|
-
|
|
228
|
-
:
|
|
229
|
-
|
|
230
|
-
|
|
273
|
+
- (void)signInAnonymously:(NSString *)appName
|
|
274
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
275
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
276
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
277
|
+
|
|
231
278
|
[[FIRAuth authWithApp:firebaseApp]
|
|
232
279
|
signInAnonymouslyWithCompletion:^(FIRAuthDataResult *authResult, NSError *error) {
|
|
233
280
|
if (error) {
|
|
@@ -238,12 +285,13 @@ RCT_EXPORT_METHOD(signInAnonymously
|
|
|
238
285
|
}];
|
|
239
286
|
}
|
|
240
287
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
288
|
+
- (void)signInWithEmailAndPassword:(NSString *)appName
|
|
289
|
+
email:(NSString *)email
|
|
290
|
+
password:(NSString *)password
|
|
291
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
292
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
293
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
294
|
+
|
|
247
295
|
[[FIRAuth authWithApp:firebaseApp]
|
|
248
296
|
signInWithEmail:email
|
|
249
297
|
password:password
|
|
@@ -256,21 +304,20 @@ RCT_EXPORT_METHOD(signInWithEmailAndPassword
|
|
|
256
304
|
}];
|
|
257
305
|
}
|
|
258
306
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
resolve(
|
|
265
|
-
@([RCTConvert BOOL:@([[FIRAuth authWithApp:firebaseApp] isSignInWithEmailLink:emailLink])]));
|
|
307
|
+
- (NSNumber *)isSignInWithEmailLink:(NSString *)appName emailLink:(NSString *)emailLink {
|
|
308
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
309
|
+
|
|
310
|
+
return
|
|
311
|
+
@([RCTConvert BOOL:@([[FIRAuth authWithApp:firebaseApp] isSignInWithEmailLink:emailLink])]);
|
|
266
312
|
}
|
|
267
313
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
:
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
314
|
+
- (void)signInWithEmailLink:(NSString *)appName
|
|
315
|
+
email:(NSString *)email
|
|
316
|
+
emailLink:(NSString *)emailLink
|
|
317
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
318
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
319
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
320
|
+
|
|
274
321
|
[[FIRAuth authWithApp:firebaseApp]
|
|
275
322
|
signInWithEmail:email
|
|
276
323
|
link:emailLink
|
|
@@ -283,12 +330,13 @@ RCT_EXPORT_METHOD(signInWithEmailLink
|
|
|
283
330
|
}];
|
|
284
331
|
}
|
|
285
332
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
333
|
+
- (void)createUserWithEmailAndPassword:(NSString *)appName
|
|
334
|
+
email:(NSString *)email
|
|
335
|
+
password:(NSString *)password
|
|
336
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
337
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
338
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
339
|
+
|
|
292
340
|
[[FIRAuth authWithApp:firebaseApp]
|
|
293
341
|
createUserWithEmail:email
|
|
294
342
|
password:password
|
|
@@ -301,10 +349,11 @@ RCT_EXPORT_METHOD(createUserWithEmailAndPassword
|
|
|
301
349
|
}];
|
|
302
350
|
}
|
|
303
351
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
352
|
+
- (void)deleteUser:(NSString *)appName
|
|
353
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
354
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
355
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
356
|
+
|
|
308
357
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
309
358
|
|
|
310
359
|
if (user) {
|
|
@@ -320,10 +369,11 @@ RCT_EXPORT_METHOD(delete
|
|
|
320
369
|
}
|
|
321
370
|
}
|
|
322
371
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
372
|
+
- (void)reload:(NSString *)appName
|
|
373
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
374
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
375
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
376
|
+
|
|
327
377
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
328
378
|
if (user) {
|
|
329
379
|
[self reloadAndReturnUser:user resolver:resolve rejecter:reject firebaseApp:firebaseApp];
|
|
@@ -332,11 +382,12 @@ RCT_EXPORT_METHOD(reload
|
|
|
332
382
|
}
|
|
333
383
|
}
|
|
334
384
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
385
|
+
- (void)sendEmailVerification:(NSString *)appName
|
|
386
|
+
actionCodeSettings:(NSDictionary *)actionCodeSettings
|
|
387
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
388
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
389
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
390
|
+
|
|
340
391
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
341
392
|
if (user) {
|
|
342
393
|
id handler = ^(NSError *_Nullable error) {
|
|
@@ -358,12 +409,13 @@ RCT_EXPORT_METHOD(sendEmailVerification
|
|
|
358
409
|
}
|
|
359
410
|
}
|
|
360
411
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
412
|
+
- (void)verifyBeforeUpdateEmail:(NSString *)appName
|
|
413
|
+
email:(NSString *)email
|
|
414
|
+
actionCodeSettings:(NSDictionary *)actionCodeSettings
|
|
415
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
416
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
417
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
418
|
+
|
|
367
419
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
368
420
|
if (user) {
|
|
369
421
|
id handler = ^(NSError *_Nullable error) {
|
|
@@ -387,11 +439,12 @@ RCT_EXPORT_METHOD(verifyBeforeUpdateEmail
|
|
|
387
439
|
}
|
|
388
440
|
}
|
|
389
441
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
442
|
+
- (void)updateEmail:(NSString *)appName
|
|
443
|
+
email:(NSString *)email
|
|
444
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
445
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
446
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
447
|
+
|
|
395
448
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
396
449
|
|
|
397
450
|
if (user) {
|
|
@@ -411,11 +464,12 @@ RCT_EXPORT_METHOD(updateEmail
|
|
|
411
464
|
}
|
|
412
465
|
}
|
|
413
466
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
467
|
+
- (void)updatePassword:(NSString *)appName
|
|
468
|
+
password:(NSString *)password
|
|
469
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
470
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
471
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
472
|
+
|
|
419
473
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
420
474
|
|
|
421
475
|
if (user) {
|
|
@@ -434,13 +488,14 @@ RCT_EXPORT_METHOD(updatePassword
|
|
|
434
488
|
}
|
|
435
489
|
|
|
436
490
|
#if TARGET_OS_IOS
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
:
|
|
442
|
-
|
|
443
|
-
|
|
491
|
+
- (void)updatePhoneNumber:(NSString *)appName
|
|
492
|
+
provider:(NSString *)provider
|
|
493
|
+
authToken:(NSString *)authToken
|
|
494
|
+
authSecret:(NSString *)authSecret
|
|
495
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
496
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
497
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
498
|
+
|
|
444
499
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
445
500
|
|
|
446
501
|
if (user) {
|
|
@@ -476,11 +531,12 @@ RCT_EXPORT_METHOD(updatePhoneNumber
|
|
|
476
531
|
}
|
|
477
532
|
#endif
|
|
478
533
|
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
534
|
+
- (void)updateProfile:(NSString *)appName
|
|
535
|
+
props:(NSDictionary *)props
|
|
536
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
537
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
538
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
539
|
+
|
|
484
540
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
485
541
|
|
|
486
542
|
if (user) {
|
|
@@ -512,11 +568,12 @@ RCT_EXPORT_METHOD(updateProfile
|
|
|
512
568
|
}
|
|
513
569
|
}
|
|
514
570
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
571
|
+
- (void)getIdToken:(NSString *)appName
|
|
572
|
+
forceRefresh:(BOOL)forceRefresh
|
|
573
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
574
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
575
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
576
|
+
|
|
520
577
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
521
578
|
|
|
522
579
|
if (user) {
|
|
@@ -533,11 +590,12 @@ RCT_EXPORT_METHOD(getIdToken
|
|
|
533
590
|
}
|
|
534
591
|
}
|
|
535
592
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
:
|
|
540
|
-
|
|
593
|
+
- (void)getIdTokenResult:(NSString *)appName
|
|
594
|
+
forceRefresh:(BOOL)forceRefresh
|
|
595
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
596
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
597
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
598
|
+
|
|
541
599
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
542
600
|
|
|
543
601
|
if (user) {
|
|
@@ -579,13 +637,14 @@ RCT_EXPORT_METHOD(getIdTokenResult
|
|
|
579
637
|
}
|
|
580
638
|
}
|
|
581
639
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
:
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
640
|
+
- (void)signInWithCredential:(NSString *)appName
|
|
641
|
+
provider:(NSString *)provider
|
|
642
|
+
authToken:(NSString *)authToken
|
|
643
|
+
authSecret:(NSString *)authSecret
|
|
644
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
645
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
646
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
647
|
+
|
|
589
648
|
FIRAuthCredential *credential = [self getCredentialForProvider:provider
|
|
590
649
|
token:authToken
|
|
591
650
|
secret:authSecret
|
|
@@ -611,11 +670,12 @@ RCT_EXPORT_METHOD(signInWithCredential
|
|
|
611
670
|
}];
|
|
612
671
|
}
|
|
613
672
|
|
|
614
|
-
|
|
615
|
-
:
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
673
|
+
- (void)signInWithProvider:(NSString *)appName
|
|
674
|
+
provider:(NSDictionary *)provider
|
|
675
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
676
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
677
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
678
|
+
|
|
619
679
|
NSString *providerId = provider[@"providerId"];
|
|
620
680
|
if (providerId == nil) {
|
|
621
681
|
[RNFBSharedUtils rejectPromiseWithUserInfo:reject
|
|
@@ -671,12 +731,13 @@ RCT_EXPORT_METHOD(signInWithProvider
|
|
|
671
731
|
#endif
|
|
672
732
|
}
|
|
673
733
|
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
734
|
+
- (void)confirmPasswordReset:(NSString *)appName
|
|
735
|
+
code:(NSString *)code
|
|
736
|
+
newPassword:(NSString *)newPassword
|
|
737
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
738
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
739
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
740
|
+
|
|
680
741
|
[[FIRAuth authWithApp:firebaseApp]
|
|
681
742
|
confirmPasswordResetWithCode:code
|
|
682
743
|
newPassword:newPassword
|
|
@@ -689,11 +750,12 @@ RCT_EXPORT_METHOD(confirmPasswordReset
|
|
|
689
750
|
}];
|
|
690
751
|
}
|
|
691
752
|
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
753
|
+
- (void)applyActionCode:(NSString *)appName
|
|
754
|
+
code:(NSString *)code
|
|
755
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
756
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
757
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
758
|
+
|
|
697
759
|
[[FIRAuth authWithApp:firebaseApp]
|
|
698
760
|
applyActionCode:code
|
|
699
761
|
completion:^(NSError *_Nullable error) {
|
|
@@ -707,11 +769,12 @@ RCT_EXPORT_METHOD(applyActionCode
|
|
|
707
769
|
}];
|
|
708
770
|
}
|
|
709
771
|
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
772
|
+
- (void)checkActionCode:(NSString *)appName
|
|
773
|
+
code:(NSString *)code
|
|
774
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
775
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
776
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
777
|
+
|
|
715
778
|
[[FIRAuth authWithApp:firebaseApp]
|
|
716
779
|
checkActionCode:code
|
|
717
780
|
completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error) {
|
|
@@ -763,11 +826,12 @@ RCT_EXPORT_METHOD(checkActionCode
|
|
|
763
826
|
}];
|
|
764
827
|
}
|
|
765
828
|
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
829
|
+
- (void)revokeToken:(NSString *)appName
|
|
830
|
+
authorizationCode:(NSString *)authorizationCode
|
|
831
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
832
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
833
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
834
|
+
|
|
771
835
|
[[FIRAuth authWithApp:firebaseApp]
|
|
772
836
|
revokeTokenWithAuthorizationCode:authorizationCode
|
|
773
837
|
completion:^(NSError *_Nullable error) {
|
|
@@ -779,12 +843,13 @@ RCT_EXPORT_METHOD(revokeToken
|
|
|
779
843
|
}];
|
|
780
844
|
}
|
|
781
845
|
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
846
|
+
- (void)sendPasswordResetEmail:(NSString *)appName
|
|
847
|
+
email:(NSString *)email
|
|
848
|
+
actionCodeSettings:(NSDictionary *)actionCodeSettings
|
|
849
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
850
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
851
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
852
|
+
|
|
788
853
|
id handler = ^(NSError *_Nullable error) {
|
|
789
854
|
if (error) {
|
|
790
855
|
[self promiseRejectAuthException:reject error:error];
|
|
@@ -803,12 +868,13 @@ RCT_EXPORT_METHOD(sendPasswordResetEmail
|
|
|
803
868
|
}
|
|
804
869
|
}
|
|
805
870
|
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
871
|
+
- (void)sendSignInLinkToEmail:(NSString *)appName
|
|
872
|
+
email:(NSString *)email
|
|
873
|
+
actionCodeSettings:(NSDictionary *)actionCodeSettings
|
|
874
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
875
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
876
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
877
|
+
|
|
812
878
|
id handler = ^(NSError *_Nullable error) {
|
|
813
879
|
if (error) {
|
|
814
880
|
[self promiseRejectAuthException:reject error:error];
|
|
@@ -823,11 +889,12 @@ RCT_EXPORT_METHOD(sendSignInLinkToEmail
|
|
|
823
889
|
completion:handler];
|
|
824
890
|
}
|
|
825
891
|
|
|
826
|
-
|
|
827
|
-
:
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
892
|
+
- (void)signInWithCustomToken:(NSString *)appName
|
|
893
|
+
customToken:(NSString *)customToken
|
|
894
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
895
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
896
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
897
|
+
|
|
831
898
|
[[FIRAuth authWithApp:firebaseApp]
|
|
832
899
|
signInWithCustomToken:customToken
|
|
833
900
|
completion:^(FIRAuthDataResult *authResult, NSError *error) {
|
|
@@ -840,13 +907,17 @@ RCT_EXPORT_METHOD(signInWithCustomToken
|
|
|
840
907
|
}
|
|
841
908
|
|
|
842
909
|
#if TARGET_OS_IOS
|
|
843
|
-
|
|
844
|
-
:
|
|
845
|
-
:
|
|
846
|
-
|
|
847
|
-
|
|
910
|
+
- (void)signInWithPhoneNumber:(NSString *)appName
|
|
911
|
+
phoneNumber:(NSString *)phoneNumber
|
|
912
|
+
forceResend:(BOOL)forceResend
|
|
913
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
914
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
915
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
916
|
+
|
|
848
917
|
DLog(@"SignInWthPhoneNumber instance: %@", firebaseApp.name);
|
|
849
918
|
|
|
919
|
+
(void)forceResend;
|
|
920
|
+
|
|
850
921
|
[[FIRPhoneAuthProvider providerWithAuth:[FIRAuth authWithApp:firebaseApp]]
|
|
851
922
|
verifyPhoneNumber:phoneNumber
|
|
852
923
|
UIDelegate:nil
|
|
@@ -860,12 +931,13 @@ RCT_EXPORT_METHOD(signInWithPhoneNumber
|
|
|
860
931
|
}
|
|
861
932
|
}];
|
|
862
933
|
}
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
934
|
+
- (void)verifyPhoneNumberWithMultiFactorInfo:(NSString *)appName
|
|
935
|
+
hintUid:(NSString *)hintUid
|
|
936
|
+
sessionKey:(NSString *)sessionKey
|
|
937
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
938
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
939
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
940
|
+
|
|
869
941
|
if ([cachedResolver valueForKey:sessionKey] == nil) {
|
|
870
942
|
[RNFBSharedUtils
|
|
871
943
|
rejectPromiseWithUserInfo:reject
|
|
@@ -905,16 +977,17 @@ RCT_EXPORT_METHOD(verifyPhoneNumberWithMultiFactorInfo
|
|
|
905
977
|
}];
|
|
906
978
|
}
|
|
907
979
|
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
980
|
+
- (void)verifyPhoneNumberForMultiFactor:(NSString *)appName
|
|
981
|
+
phoneNumber:(NSString *)phoneNumber
|
|
982
|
+
sessionKey:(NSString *)sessionKey
|
|
983
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
984
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
985
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
986
|
+
|
|
914
987
|
DLog(@"verifyPhoneNumberForMultifactor using app: %@", firebaseApp.name);
|
|
915
988
|
DLog(@"verifyPhoneNumberForMultifactor phoneNumber: %@", phoneNumber);
|
|
916
|
-
DLog(@"verifyPhoneNumberForMultifactor
|
|
917
|
-
FIRMultiFactorSession *session = cachedSessions[
|
|
989
|
+
DLog(@"verifyPhoneNumberForMultifactor sessionKey: %@", sessionKey);
|
|
990
|
+
FIRMultiFactorSession *session = cachedSessions[sessionKey];
|
|
918
991
|
if (session == nil) {
|
|
919
992
|
[RNFBSharedUtils rejectPromiseWithUserInfo:reject
|
|
920
993
|
userInfo:(NSMutableDictionary *)@{
|
|
@@ -937,13 +1010,14 @@ RCT_EXPORT_METHOD(verifyPhoneNumberForMultiFactor
|
|
|
937
1010
|
}];
|
|
938
1011
|
}
|
|
939
1012
|
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
:
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
1013
|
+
- (void)resolveMultiFactorSignIn:(NSString *)appName
|
|
1014
|
+
session:(NSString *)session
|
|
1015
|
+
verificationId:(NSString *)verificationId
|
|
1016
|
+
verificationCode:(NSString *)verificationCode
|
|
1017
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1018
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1019
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1020
|
+
|
|
947
1021
|
DLog(@"using instance resolve MultiFactorSignIn: %@", firebaseApp.name);
|
|
948
1022
|
|
|
949
1023
|
FIRPhoneAuthCredential *credential =
|
|
@@ -955,28 +1029,28 @@ RCT_EXPORT_METHOD(resolveMultiFactorSignIn
|
|
|
955
1029
|
FIRMultiFactorAssertion *assertion =
|
|
956
1030
|
[FIRPhoneMultiFactorGenerator assertionWithCredential:credential];
|
|
957
1031
|
|
|
958
|
-
[cachedResolver[
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
1032
|
+
[cachedResolver[session] resolveSignInWithAssertion:assertion
|
|
1033
|
+
completion:^(FIRAuthDataResult *_Nullable authResult,
|
|
1034
|
+
NSError *_Nullable error) {
|
|
1035
|
+
DLog(@"authError: %@", error) if (error) {
|
|
1036
|
+
[self promiseRejectAuthException:reject error:error];
|
|
1037
|
+
}
|
|
1038
|
+
else {
|
|
1039
|
+
[self promiseWithAuthResult:resolve
|
|
1040
|
+
rejecter:reject
|
|
1041
|
+
authResult:authResult];
|
|
1042
|
+
}
|
|
1043
|
+
}];
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
- (void)resolveTotpSignIn:(NSString *)appName
|
|
1047
|
+
sessionKey:(NSString *)sessionKey
|
|
1048
|
+
uid:(NSString *)uid
|
|
1049
|
+
oneTimePassword:(NSString *)oneTimePassword
|
|
1050
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1051
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1052
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
972
1053
|
|
|
973
|
-
RCT_EXPORT_METHOD(resolveTotpSignIn
|
|
974
|
-
: (FIRApp *)firebaseApp
|
|
975
|
-
: (NSString *)sessionKey
|
|
976
|
-
: (NSString *)uid
|
|
977
|
-
: (NSString *)oneTimePassword
|
|
978
|
-
: (RCTPromiseResolveBlock)resolve
|
|
979
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
980
1054
|
DLog(@"using instance resolve TotpSignIn: %@", firebaseApp.name);
|
|
981
1055
|
|
|
982
1056
|
FIRMultiFactorAssertion *assertion =
|
|
@@ -997,11 +1071,12 @@ RCT_EXPORT_METHOD(resolveTotpSignIn
|
|
|
997
1071
|
}];
|
|
998
1072
|
}
|
|
999
1073
|
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1074
|
+
- (void)generateTotpSecret:(NSString *)appName
|
|
1075
|
+
sessionKey:(NSString *)sessionKey
|
|
1076
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1077
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1078
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1079
|
+
|
|
1005
1080
|
DLog(@"using instance resolve generateTotpSecret: %@", firebaseApp.name);
|
|
1006
1081
|
|
|
1007
1082
|
FIRMultiFactorSession *session = cachedSessions[sessionKey];
|
|
@@ -1026,35 +1101,40 @@ RCT_EXPORT_METHOD(generateTotpSecret
|
|
|
1026
1101
|
}];
|
|
1027
1102
|
}
|
|
1028
1103
|
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
1104
|
+
- (NSString *)generateQrCodeUrl:(NSString *)appName
|
|
1105
|
+
secretKey:(NSString *)secretKey
|
|
1106
|
+
account:(NSString *)account
|
|
1107
|
+
issuer:(NSString *)issuer {
|
|
1108
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1109
|
+
|
|
1036
1110
|
DLog(@"generateQrCodeUrl using instance resolve generateQrCodeUrl: %@", firebaseApp.name);
|
|
1037
1111
|
DLog(@"generateQrCodeUrl using secretKey: %@", secretKey);
|
|
1038
1112
|
FIRTOTPSecret *totpSecret = cachedTotpSecrets[secretKey];
|
|
1039
|
-
|
|
1113
|
+
if (!totpSecret) {
|
|
1114
|
+
RNFBAuthThrowSyncErrorWithCode(@"invalid-multi-factor-secret",
|
|
1115
|
+
@"can't find secret for provided key");
|
|
1116
|
+
}
|
|
1117
|
+
NSString *url = [totpSecret generateQRCodeURLWithAccountName:account issuer:issuer];
|
|
1040
1118
|
DLog(@"generateQrCodeUrl got QR Code URL %@", url);
|
|
1041
|
-
|
|
1119
|
+
return url;
|
|
1042
1120
|
}
|
|
1043
1121
|
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1122
|
+
- (void)openInOtpApp:(NSString *)appName
|
|
1123
|
+
secretKey:(NSString *)secretKey
|
|
1124
|
+
qrCodeUri:(NSString *)qrCodeUri {
|
|
1125
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1126
|
+
|
|
1048
1127
|
DLog(@"generateQrCodeUrl using secretKey: %@", secretKey);
|
|
1049
1128
|
FIRTOTPSecret *totpSecret = cachedTotpSecrets[secretKey];
|
|
1050
1129
|
DLog(@"openInOtpApp using qrCodeUri: %@", qrCodeUri);
|
|
1051
1130
|
[totpSecret openInOTPAppWithQRCodeURL:qrCodeUri];
|
|
1052
1131
|
}
|
|
1053
1132
|
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1133
|
+
- (void)getSession:(NSString *)appName
|
|
1134
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1135
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1136
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1137
|
+
|
|
1058
1138
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
1059
1139
|
[[user multiFactor] getSessionWithCompletion:^(FIRMultiFactorSession *_Nullable session,
|
|
1060
1140
|
NSError *_Nullable error) {
|
|
@@ -1069,11 +1149,12 @@ RCT_EXPORT_METHOD(getSession
|
|
|
1069
1149
|
}];
|
|
1070
1150
|
}
|
|
1071
1151
|
|
|
1072
|
-
|
|
1073
|
-
:
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1152
|
+
- (void)unenrollMultiFactor:(NSString *)appName
|
|
1153
|
+
factorUID:(NSString *)factorUID
|
|
1154
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1155
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1156
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1157
|
+
|
|
1077
1158
|
DLog(@"using instance unenrollMultiFactor: %@", firebaseApp.name);
|
|
1078
1159
|
|
|
1079
1160
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
@@ -1089,13 +1170,14 @@ RCT_EXPORT_METHOD(unenrollMultiFactor
|
|
|
1089
1170
|
}];
|
|
1090
1171
|
}
|
|
1091
1172
|
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1173
|
+
- (void)finalizeMultiFactorEnrollment:(NSString *)appName
|
|
1174
|
+
verificationId:(NSString *)verificationId
|
|
1175
|
+
verificationCode:(NSString *)verificationCode
|
|
1176
|
+
displayName:(NSString *_Nullable)displayName
|
|
1177
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1178
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1179
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1180
|
+
|
|
1099
1181
|
DLog(@"using instance finalizeMultifactorEnrollment: %@", firebaseApp.name);
|
|
1100
1182
|
|
|
1101
1183
|
FIRPhoneAuthCredential *credential =
|
|
@@ -1118,13 +1200,14 @@ RCT_EXPORT_METHOD(finalizeMultiFactorEnrollment
|
|
|
1118
1200
|
}];
|
|
1119
1201
|
}
|
|
1120
1202
|
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1203
|
+
- (void)finalizeTotpEnrollment:(NSString *)appName
|
|
1204
|
+
totpSecret:(NSString *)totpSecret
|
|
1205
|
+
verificationCode:(NSString *)verificationCode
|
|
1206
|
+
displayName:(NSString *_Nullable)displayName
|
|
1207
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1208
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1209
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1210
|
+
|
|
1128
1211
|
DLog(@"using instance finalizeTotpEnrollment: %@", firebaseApp.name);
|
|
1129
1212
|
|
|
1130
1213
|
FIRTOTPSecret *cachedTotpSecret = cachedTotpSecrets[totpSecret];
|
|
@@ -1149,10 +1232,13 @@ RCT_EXPORT_METHOD(finalizeTotpEnrollment
|
|
|
1149
1232
|
}];
|
|
1150
1233
|
}
|
|
1151
1234
|
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
:
|
|
1235
|
+
- (void)verifyPhoneNumber:(NSString *)appName
|
|
1236
|
+
phoneNumber:(NSString *)phoneNumber
|
|
1237
|
+
requestKey:(NSString *)requestKey
|
|
1238
|
+
timeout:(double)timeout
|
|
1239
|
+
forceResend:(BOOL)forceResend {
|
|
1240
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1241
|
+
|
|
1156
1242
|
DLog(@"using instance verifyPhoneNumber: %@", firebaseApp.name);
|
|
1157
1243
|
|
|
1158
1244
|
[[FIRPhoneAuthProvider providerWithAuth:[FIRAuth authWithApp:firebaseApp]]
|
|
@@ -1184,11 +1270,12 @@ RCT_EXPORT_METHOD(verifyPhoneNumber
|
|
|
1184
1270
|
}];
|
|
1185
1271
|
}
|
|
1186
1272
|
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1273
|
+
- (void)confirmationResultConfirm:(NSString *)appName
|
|
1274
|
+
verificationCode:(NSString *)verificationCode
|
|
1275
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1276
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1277
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1278
|
+
|
|
1192
1279
|
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
|
1193
1280
|
NSString *verificationId = [defaults stringForKey:@"authVerificationID"];
|
|
1194
1281
|
|
|
@@ -1210,13 +1297,14 @@ RCT_EXPORT_METHOD(confirmationResultConfirm
|
|
|
1210
1297
|
}
|
|
1211
1298
|
#endif
|
|
1212
1299
|
|
|
1213
|
-
|
|
1214
|
-
:
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1300
|
+
- (void)linkWithCredential:(NSString *)appName
|
|
1301
|
+
provider:(NSString *)provider
|
|
1302
|
+
authToken:(NSString *)authToken
|
|
1303
|
+
authSecret:(NSString *)authSecret
|
|
1304
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1305
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1306
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1307
|
+
|
|
1220
1308
|
FIRAuthCredential *credential = [self getCredentialForProvider:provider
|
|
1221
1309
|
token:authToken
|
|
1222
1310
|
secret:authSecret
|
|
@@ -1246,11 +1334,12 @@ RCT_EXPORT_METHOD(linkWithCredential
|
|
|
1246
1334
|
}
|
|
1247
1335
|
}
|
|
1248
1336
|
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
:
|
|
1253
|
-
|
|
1337
|
+
- (void)linkWithProvider:(NSString *)appName
|
|
1338
|
+
provider:(NSDictionary *)provider
|
|
1339
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1340
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1341
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1342
|
+
|
|
1254
1343
|
NSString *providerId = provider[@"providerId"];
|
|
1255
1344
|
if (providerId == nil) {
|
|
1256
1345
|
[RNFBSharedUtils rejectPromiseWithUserInfo:reject
|
|
@@ -1311,11 +1400,12 @@ RCT_EXPORT_METHOD(linkWithProvider
|
|
|
1311
1400
|
#endif
|
|
1312
1401
|
}
|
|
1313
1402
|
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1403
|
+
- (void)unlink:(NSString *)appName
|
|
1404
|
+
providerId:(NSString *)providerId
|
|
1405
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1406
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1407
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1408
|
+
|
|
1319
1409
|
FIRUser *user = [FIRAuth authWithApp:firebaseApp].currentUser;
|
|
1320
1410
|
|
|
1321
1411
|
if (user) {
|
|
@@ -1335,13 +1425,14 @@ RCT_EXPORT_METHOD(unlink
|
|
|
1335
1425
|
}
|
|
1336
1426
|
}
|
|
1337
1427
|
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1428
|
+
- (void)reauthenticateWithCredential:(NSString *)appName
|
|
1429
|
+
provider:(NSString *)provider
|
|
1430
|
+
authToken:(NSString *)authToken
|
|
1431
|
+
authSecret:(NSString *)authSecret
|
|
1432
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1433
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1434
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1435
|
+
|
|
1345
1436
|
FIRAuthCredential *credential = [self getCredentialForProvider:provider
|
|
1346
1437
|
token:authToken
|
|
1347
1438
|
secret:authSecret
|
|
@@ -1375,11 +1466,12 @@ RCT_EXPORT_METHOD(reauthenticateWithCredential
|
|
|
1375
1466
|
}
|
|
1376
1467
|
}
|
|
1377
1468
|
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1469
|
+
- (void)reauthenticateWithProvider:(NSString *)appName
|
|
1470
|
+
provider:(NSDictionary *)provider
|
|
1471
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1472
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1473
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1474
|
+
|
|
1383
1475
|
NSString *providerId = provider[@"providerId"];
|
|
1384
1476
|
if (providerId == nil) {
|
|
1385
1477
|
[RNFBSharedUtils rejectPromiseWithUserInfo:reject
|
|
@@ -1440,11 +1532,12 @@ RCT_EXPORT_METHOD(reauthenticateWithProvider
|
|
|
1440
1532
|
#endif
|
|
1441
1533
|
}
|
|
1442
1534
|
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1535
|
+
- (void)fetchSignInMethodsForEmail:(NSString *)appName
|
|
1536
|
+
email:(NSString *)email
|
|
1537
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1538
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1539
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1540
|
+
|
|
1448
1541
|
[[FIRAuth authWithApp:firebaseApp]
|
|
1449
1542
|
fetchSignInMethodsForEmail:email
|
|
1450
1543
|
completion:^(NSArray<NSString *> *_Nullable providers,
|
|
@@ -1460,7 +1553,9 @@ RCT_EXPORT_METHOD(fetchSignInMethodsForEmail
|
|
|
1460
1553
|
}];
|
|
1461
1554
|
}
|
|
1462
1555
|
|
|
1463
|
-
|
|
1556
|
+
- (void)setLanguageCode:(NSString *)appName code:(NSString *)code {
|
|
1557
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1558
|
+
|
|
1464
1559
|
if (code) {
|
|
1465
1560
|
[FIRAuth authWithApp:firebaseApp].languageCode = code;
|
|
1466
1561
|
} else {
|
|
@@ -1468,19 +1563,28 @@ RCT_EXPORT_METHOD(setLanguageCode : (FIRApp *)firebaseApp : (NSString *)code) {
|
|
|
1468
1563
|
}
|
|
1469
1564
|
}
|
|
1470
1565
|
|
|
1471
|
-
|
|
1472
|
-
|
|
1566
|
+
- (void)setTenantId:(NSString *)appName
|
|
1567
|
+
tenantId:(NSString *)tenantId
|
|
1568
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1569
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1570
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1571
|
+
|
|
1572
|
+
[FIRAuth authWithApp:firebaseApp].tenantID = tenantId;
|
|
1573
|
+
resolve([NSNull null]);
|
|
1473
1574
|
}
|
|
1474
1575
|
|
|
1475
|
-
|
|
1576
|
+
- (void)useDeviceLanguage:(NSString *)appName {
|
|
1577
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1578
|
+
|
|
1476
1579
|
[[FIRAuth authWithApp:firebaseApp] useAppLanguage];
|
|
1477
1580
|
}
|
|
1478
1581
|
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1582
|
+
- (void)verifyPasswordResetCode:(NSString *)appName
|
|
1583
|
+
code:(NSString *)code
|
|
1584
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
1585
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
1586
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1587
|
+
|
|
1484
1588
|
[[FIRAuth authWithApp:firebaseApp]
|
|
1485
1589
|
verifyPasswordResetCode:code
|
|
1486
1590
|
completion:^(NSString *_Nullable email, NSError *_Nullable error) {
|
|
@@ -1492,12 +1596,11 @@ RCT_EXPORT_METHOD(verifyPasswordResetCode
|
|
|
1492
1596
|
}];
|
|
1493
1597
|
}
|
|
1494
1598
|
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
: (NSInteger)port) {
|
|
1599
|
+
- (void)useEmulator:(NSString *)appName host:(nonnull NSString *)host port:(double)port {
|
|
1600
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
|
|
1601
|
+
|
|
1499
1602
|
if (!emulatorConfigs[firebaseApp.name]) {
|
|
1500
|
-
[[FIRAuth authWithApp:firebaseApp] useEmulatorWithHost:host port:port];
|
|
1603
|
+
[[FIRAuth authWithApp:firebaseApp] useEmulatorWithHost:host port:(NSInteger)port];
|
|
1501
1604
|
emulatorConfigs[firebaseApp.name] = @YES;
|
|
1502
1605
|
}
|
|
1503
1606
|
}
|
|
@@ -1806,7 +1909,15 @@ RCT_EXPORT_METHOD(useEmulator
|
|
|
1806
1909
|
return output;
|
|
1807
1910
|
}
|
|
1808
1911
|
|
|
1809
|
-
- (
|
|
1912
|
+
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboAuth::Constants::Builder>)constantsToExport {
|
|
1913
|
+
return [_RCTTypedModuleConstants newWithUnsafeDictionary:[self authConstantsDictionary]];
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1916
|
+
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboAuth::Constants::Builder>)getConstants {
|
|
1917
|
+
return [self constantsToExport];
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
- (NSDictionary *)authConstantsDictionary {
|
|
1810
1921
|
NSDictionary *firebaseApps = [FIRApp allApps];
|
|
1811
1922
|
NSMutableDictionary *constants = [NSMutableDictionary new];
|
|
1812
1923
|
NSMutableDictionary *appLanguage = [NSMutableDictionary new];
|