@react-native-firebase/auth 21.2.0 → 21.4.0

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,20 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [21.4.0](https://github.com/invertase/react-native-firebase/compare/v21.3.0...v21.4.0) (2024-11-07)
7
+
8
+ ### Features
9
+
10
+ - Add initial tvOS support to some firebase packages ([ca51b51](https://github.com/invertase/react-native-firebase/commit/ca51b51f86edb9a5e293b463491fad40e4189e53))
11
+
12
+ ### Bug Fixes
13
+
14
+ - **auth, tvOS:** guard all phone & MFA with iOS-only compile ifdef ([3691bd0](https://github.com/invertase/react-native-firebase/commit/3691bd0c299fcd78ae58908ed5825e9c190714ed))
15
+
16
+ ## [21.3.0](https://github.com/invertase/react-native-firebase/compare/v21.2.0...v21.3.0) (2024-10-31)
17
+
18
+ **Note:** Version bump only for package @react-native-firebase/auth
19
+
6
20
  ## [21.2.0](https://github.com/invertase/react-native-firebase/compare/v21.1.1...v21.2.0) (2024-10-22)
7
21
 
8
22
  **Note:** Version bump only for package @react-native-firebase/auth
package/RNFBAuth.podspec CHANGED
@@ -10,6 +10,7 @@ if coreVersionDetected != coreVersionRequired
10
10
  end
11
11
  firebase_ios_target = appPackage['sdkVersions']['ios']['iosTarget']
12
12
  firebase_macos_target = appPackage['sdkVersions']['ios']['macosTarget']
13
+ firebase_tvos_target = appPackage['sdkVersions']['ios']['tvosTarget']
13
14
 
14
15
  Pod::Spec.new do |s|
15
16
  s.name = "RNFBAuth"
@@ -25,6 +26,7 @@ Pod::Spec.new do |s|
25
26
  s.social_media_url = 'http://twitter.com/invertaseio'
26
27
  s.ios.deployment_target = firebase_ios_target
27
28
  s.macos.deployment_target = firebase_macos_target
29
+ s.tvos.deployment_target = firebase_tvos_target
28
30
  s.source_files = 'ios/**/*.{h,m}'
29
31
 
30
32
  # React Native dependencies
@@ -55,8 +55,10 @@ static __strong NSMutableDictionary *idTokenHandlers;
55
55
  static __strong NSMutableDictionary *emulatorConfigs;
56
56
  // Used for caching credentials between method calls.
57
57
  static __strong NSMutableDictionary<NSString *, FIRAuthCredential *> *credentials;
58
+ #if TARGET_OS_IOS
58
59
  static __strong NSMutableDictionary<NSString *, FIRMultiFactorResolver *> *cachedResolver;
59
60
  static __strong NSMutableDictionary<NSString *, FIRMultiFactorSession *> *cachedSessions;
61
+ #endif
60
62
 
61
63
  @implementation RNFBAuthModule
62
64
  #pragma mark -
@@ -76,8 +78,10 @@ RCT_EXPORT_MODULE();
76
78
  idTokenHandlers = [[NSMutableDictionary alloc] init];
77
79
  emulatorConfigs = [[NSMutableDictionary alloc] init];
78
80
  credentials = [[NSMutableDictionary alloc] init];
81
+ #if TARGET_OS_IOS
79
82
  cachedResolver = [[NSMutableDictionary alloc] init];
80
83
  cachedSessions = [[NSMutableDictionary alloc] init];
84
+ #endif
81
85
  });
82
86
  return self;
83
87
  }
@@ -103,8 +107,10 @@ RCT_EXPORT_MODULE();
103
107
  [idTokenHandlers removeAllObjects];
104
108
 
105
109
  [credentials removeAllObjects];
110
+ #if TARGET_OS_IOS
106
111
  [cachedResolver removeAllObjects];
107
112
  [cachedSessions removeAllObjects];
113
+ #endif
108
114
  }
109
115
 
110
116
  #pragma mark -
@@ -415,6 +421,7 @@ RCT_EXPORT_METHOD(updatePassword
415
421
  }
416
422
  }
417
423
 
424
+ #if TARGET_OS_IOS
418
425
  RCT_EXPORT_METHOD(updatePhoneNumber
419
426
  : (FIRApp *)firebaseApp
420
427
  : (NSString *)provider
@@ -455,6 +462,7 @@ RCT_EXPORT_METHOD(updatePhoneNumber
455
462
  [self promiseNoUser:resolve rejecter:reject isError:YES];
456
463
  }
457
464
  }
465
+ #endif
458
466
 
459
467
  RCT_EXPORT_METHOD(updateProfile
460
468
  : (FIRApp *)firebaseApp
@@ -617,6 +625,7 @@ RCT_EXPORT_METHOD(signInWithProvider
617
625
  [builder setCustomParameters:provider[@"customParameters"]];
618
626
  }
619
627
 
628
+ #if TARGET_OS_IOS
620
629
  [builder getCredentialWithUIDelegate:nil
621
630
  completion:^(FIRAuthCredential *_Nullable credential,
622
631
  NSError *_Nullable error) {
@@ -647,6 +656,7 @@ RCT_EXPORT_METHOD(signInWithProvider
647
656
  }];
648
657
  }
649
658
  }];
659
+ #endif
650
660
  }
651
661
 
652
662
  RCT_EXPORT_METHOD(confirmPasswordReset
@@ -817,6 +827,7 @@ RCT_EXPORT_METHOD(signInWithCustomToken
817
827
  }];
818
828
  }
819
829
 
830
+ #if TARGET_OS_IOS
820
831
  RCT_EXPORT_METHOD(signInWithPhoneNumber
821
832
  : (FIRApp *)firebaseApp
822
833
  : (NSString *)phoneNumber
@@ -1053,6 +1064,7 @@ RCT_EXPORT_METHOD(confirmationResultConfirm
1053
1064
  }
1054
1065
  }];
1055
1066
  }
1067
+ #endif
1056
1068
 
1057
1069
  RCT_EXPORT_METHOD(linkWithCredential
1058
1070
  : (FIRApp *)firebaseApp
@@ -1122,6 +1134,7 @@ RCT_EXPORT_METHOD(linkWithProvider
1122
1134
  [builder setCustomParameters:provider[@"parameters"]];
1123
1135
  }
1124
1136
 
1137
+ #if TARGET_OS_IOS
1125
1138
  [builder getCredentialWithUIDelegate:nil
1126
1139
  completion:^(FIRAuthCredential *_Nullable credential,
1127
1140
  NSError *_Nullable error) {
@@ -1151,6 +1164,7 @@ RCT_EXPORT_METHOD(linkWithProvider
1151
1164
  }];
1152
1165
  }
1153
1166
  }];
1167
+ #endif
1154
1168
  }
1155
1169
 
1156
1170
  RCT_EXPORT_METHOD(unlink
@@ -1248,7 +1262,7 @@ RCT_EXPORT_METHOD(reauthenticateWithProvider
1248
1262
  if (provider[@"parameters"]) {
1249
1263
  [builder setCustomParameters:provider[@"parameters"]];
1250
1264
  }
1251
-
1265
+ #if TARGET_OS_IOS
1252
1266
  [builder getCredentialWithUIDelegate:nil
1253
1267
  completion:^(FIRAuthCredential *_Nullable credential,
1254
1268
  NSError *_Nullable error) {
@@ -1279,6 +1293,7 @@ RCT_EXPORT_METHOD(reauthenticateWithProvider
1279
1293
  }];
1280
1294
  }
1281
1295
  }];
1296
+ #endif
1282
1297
  }
1283
1298
 
1284
1299
  RCT_EXPORT_METHOD(fetchSignInMethodsForEmail
@@ -1375,10 +1390,12 @@ RCT_EXPORT_METHOD(useEmulator
1375
1390
  } else if ([provider compare:@"github.com" options:NSCaseInsensitiveSearch] == NSOrderedSame) {
1376
1391
  credential = [FIRGitHubAuthProvider credentialWithToken:authToken];
1377
1392
  } else if ([provider compare:@"phone" options:NSCaseInsensitiveSearch] == NSOrderedSame) {
1393
+ #if TARGET_OS_IOS
1378
1394
  DLog(@"using app credGen: %@", firebaseApp.name) credential =
1379
1395
  [[FIRPhoneAuthProvider providerWithAuth:[FIRAuth authWithApp:firebaseApp]]
1380
1396
  credentialWithVerificationID:authToken
1381
1397
  verificationCode:authTokenSecret];
1398
+ #endif
1382
1399
  } else if ([provider compare:@"oauth" options:NSCaseInsensitiveSearch] == NSOrderedSame) {
1383
1400
  credential = [FIROAuthProvider credentialWithProviderID:@"oauth"
1384
1401
  IDToken:authToken
@@ -1423,6 +1440,7 @@ RCT_EXPORT_METHOD(useEmulator
1423
1440
  }
1424
1441
  }
1425
1442
 
1443
+ #if TARGET_OS_IOS
1426
1444
  - (NSDictionary *)multiFactorResolverToDict:(FIRMultiFactorResolver *)resolver {
1427
1445
  // Temporarily store the non-serializable session for later
1428
1446
  NSString *sessionHash = [NSString stringWithFormat:@"%@", @([resolver.session hash])];
@@ -1433,6 +1451,7 @@ RCT_EXPORT_METHOD(useEmulator
1433
1451
  @"auth" : resolver.auth
1434
1452
  };
1435
1453
  }
1454
+ #endif
1436
1455
 
1437
1456
  - (NSString *)getJSFactorId:(NSString *)factorId {
1438
1457
  if ([factorId isEqualToString:@"1"]) {
@@ -1543,6 +1562,7 @@ RCT_EXPORT_METHOD(useEmulator
1543
1562
  }
1544
1563
 
1545
1564
  NSDictionary *resolverDict = nil;
1565
+ #if TARGET_OS_IOS
1546
1566
  if ([error userInfo][FIRAuthErrorUserInfoMultiFactorResolverKey] != nil) {
1547
1567
  FIRMultiFactorResolver *resolver = error.userInfo[FIRAuthErrorUserInfoMultiFactorResolverKey];
1548
1568
  resolverDict = [self multiFactorResolverToDict:resolver];
@@ -1550,6 +1570,7 @@ RCT_EXPORT_METHOD(useEmulator
1550
1570
  NSString *sessionKey = [NSString stringWithFormat:@"%@", @([resolver.session hash])];
1551
1571
  cachedResolver[sessionKey] = resolver;
1552
1572
  }
1573
+ #endif
1553
1574
 
1554
1575
  return @{
1555
1576
  @"code" : code,
@@ -1696,11 +1717,14 @@ RCT_EXPORT_METHOD(useEmulator
1696
1717
  @"refreshToken" : user.refreshToken,
1697
1718
  @"tenantId" : user.tenantID ? (id)user.tenantID : [NSNull null],
1698
1719
  keyUid : user.uid,
1720
+ #if TARGET_OS_IOS
1699
1721
  @"multiFactor" :
1700
1722
  @{@"enrolledFactors" : [self convertMultiFactorData:user.multiFactor.enrolledFactors]}
1723
+ #endif
1701
1724
  };
1702
1725
  }
1703
1726
 
1727
+ #if TARGET_OS_IOS
1704
1728
  - (NSArray<NSMutableDictionary *> *)convertMultiFactorData:(NSArray<FIRMultiFactorInfo *> *)hints {
1705
1729
  NSMutableArray *enrolledFactors = [NSMutableArray array];
1706
1730
 
@@ -1720,6 +1744,7 @@ RCT_EXPORT_METHOD(useEmulator
1720
1744
  }
1721
1745
  return enrolledFactors;
1722
1746
  }
1747
+ #endif
1723
1748
 
1724
1749
  - (NSDictionary *)authCredentialToDict:(FIRAuthCredential *)authCredential {
1725
1750
  NSString *authCredentialHash = [NSString stringWithFormat:@"%@", @([authCredential hash])];
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- module.exports = '21.2.0';
2
+ module.exports = '21.4.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-firebase/auth",
3
- "version": "21.2.0",
3
+ "version": "21.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": "lib/index.js",
@@ -27,7 +27,7 @@
27
27
  "plist": "^3.1.0"
28
28
  },
29
29
  "peerDependencies": {
30
- "@react-native-firebase/app": "21.2.0",
30
+ "@react-native-firebase/app": "21.4.0",
31
31
  "expo": ">=47.0.0"
32
32
  },
33
33
  "devDependencies": {
@@ -42,5 +42,5 @@
42
42
  "publishConfig": {
43
43
  "access": "public"
44
44
  },
45
- "gitHead": "e85bf83dd36b3473d129bb3ed5eb3d9648e91988"
45
+ "gitHead": "227e1ed54cf668cbc701c0ed2542b8ec66957e1e"
46
46
  }