@react-native-firebase/auth 26.0.0 → 26.2.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/RNFBAuth.podspec +2 -1
  3. package/android/src/main/java/io/invertase/firebase/auth/NativeRNFBTurboAuth.java +9 -1
  4. package/android/src/main/java/io/invertase/firebase/auth/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAuthSpec.java +1 -1
  5. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/RNFBAuthTurboModules-generated.cpp +2 -2
  6. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/react/renderer/components/RNFBAuthTurboModules/RNFBAuthTurboModulesJSI-generated.cpp +3 -2
  7. package/android/src/main/java/io/invertase/firebase/auth/generated/jni/react/renderer/components/RNFBAuthTurboModules/RNFBAuthTurboModulesJSI.h +5 -5
  8. package/dist/module/credentials/OAuthCredential.js +22 -1
  9. package/dist/module/credentials/OAuthCredential.js.map +1 -1
  10. package/dist/module/index.js +6 -1
  11. package/dist/module/index.js.map +1 -1
  12. package/dist/module/providers/AppleAuthProvider.js +17 -4
  13. package/dist/module/providers/AppleAuthProvider.js.map +1 -1
  14. package/dist/module/providers/OAuthProvider.js +4 -2
  15. package/dist/module/providers/OAuthProvider.js.map +1 -1
  16. package/dist/module/types/auth.js +8 -0
  17. package/dist/module/types/auth.js.map +1 -1
  18. package/dist/module/version.js +1 -1
  19. package/dist/module/web/RNFBAuthModule.js +13 -11
  20. package/dist/module/web/RNFBAuthModule.js.map +1 -1
  21. package/dist/typescript/lib/credentials/OAuthCredential.d.ts +6 -0
  22. package/dist/typescript/lib/credentials/OAuthCredential.d.ts.map +1 -1
  23. package/dist/typescript/lib/index.d.ts.map +1 -1
  24. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts +10 -3
  25. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts.map +1 -1
  26. package/dist/typescript/lib/providers/OAuthProvider.d.ts.map +1 -1
  27. package/dist/typescript/lib/types/auth.d.ts +26 -0
  28. package/dist/typescript/lib/types/auth.d.ts.map +1 -1
  29. package/dist/typescript/lib/types/internal.d.ts +1 -1
  30. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  31. package/dist/typescript/lib/version.d.ts +1 -1
  32. package/dist/typescript/lib/web/RNFBAuthModule.d.ts +3 -1
  33. package/dist/typescript/lib/web/RNFBAuthModule.d.ts.map +1 -1
  34. package/ios/RNFBAuth/RNFBAuthHelper.h +338 -0
  35. package/ios/RNFBAuth/RNFBAuthHelper.m +2221 -0
  36. package/ios/RNFBAuth/RNFBAuthModule.h +7 -64
  37. package/ios/RNFBAuth/RNFBAuthModule.mm +177 -1638
  38. package/ios/generated/RNFBAuthTurboModules/RNFBAuthTurboModules-generated.mm +2 -2
  39. package/ios/generated/RNFBAuthTurboModules/RNFBAuthTurboModules.h +1 -0
  40. package/ios/generated/RNFBAuthTurboModulesJSI-generated.cpp +3 -2
  41. package/ios/generated/RNFBAuthTurboModulesJSI.h +5 -5
  42. package/lib/credentials/OAuthCredential.ts +44 -0
  43. package/lib/index.ts +13 -1
  44. package/lib/providers/AppleAuthProvider.ts +21 -5
  45. package/lib/providers/OAuthProvider.ts +2 -0
  46. package/lib/types/auth.ts +27 -0
  47. package/lib/types/internal.ts +2 -0
  48. package/lib/version.ts +1 -1
  49. package/lib/web/RNFBAuthModule.ts +34 -23
  50. package/package.json +7 -8
  51. package/plugin/build/ios/urlTypes.js +1 -1
  52. package/plugin/src/ios/urlTypes.ts +1 -1
  53. package/plugin/tsconfig.json +2 -1
  54. package/specs/NativeRNFBTurboAuth.ts +2 -0
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Copyright (c) 2016-present Invertase Limited & Contributors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this library except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ */
17
+
18
+ #import <Foundation/Foundation.h>
19
+ #import <React/RCTBridgeModule.h>
20
+
21
+ // Plain Objective-C helper (see docs/ios-spm.mdx and
22
+ // okf-bundle/ios-spm-native-imports.md) that owns every call touching
23
+ // `FIRAuth`/`FIRUser` for RNFBAuthModule. This keeps RNFBAuthModule.mm free of
24
+ // Firebase Auth imports, which is required because the real `FIRAuth`/`FIRUser`
25
+ // class interfaces are implemented in Swift -- FirebaseAuth ships real ObjC
26
+ // headers only for auxiliary types (error codes, typedefs, provider classes),
27
+ // never for the core `FIRAuth`/`FIRUser` classes themselves. `@import
28
+ // FirebaseAuth` is the only way to get the real interface, and that can't be
29
+ // used from an Objective-C++ (.mm) TurboModule when C++ modules are disabled
30
+ // (required by React Native's JSI headers).
31
+ @interface RNFBAuthHelper : NSObject
32
+
33
+ + (void)invalidate;
34
+
35
+ #pragma mark - Listeners
36
+
37
+ + (void)addAuthStateListener:(NSString *)appName;
38
+ + (void)removeAuthStateListener:(NSString *)appName;
39
+ + (void)addIdTokenListener:(NSString *)appName;
40
+ + (void)removeIdTokenListener:(NSString *)appName;
41
+
42
+ #pragma mark - Domain / settings
43
+
44
+ + (void)configureAuthDomain:(NSString *)appName;
45
+
46
+ + (void)getCustomAuthDomain:(NSString *)appName
47
+ resolve:(RCTPromiseResolveBlock)resolve
48
+ reject:(RCTPromiseRejectBlock)reject;
49
+
50
+ + (void)setAppVerificationDisabledForTesting:(NSString *)appName
51
+ disabled:(BOOL)disabled
52
+ resolve:(RCTPromiseResolveBlock)resolve
53
+ reject:(RCTPromiseRejectBlock)reject;
54
+
55
+ + (void)useUserAccessGroup:(NSString *)appName
56
+ userAccessGroup:(NSString *)userAccessGroup
57
+ resolve:(RCTPromiseResolveBlock)resolve
58
+ reject:(RCTPromiseRejectBlock)reject;
59
+
60
+ + (void)setLanguageCode:(NSString *)appName code:(NSString *)code;
61
+
62
+ + (void)setTenantId:(NSString *)appName
63
+ tenantId:(NSString *)tenantId
64
+ resolve:(RCTPromiseResolveBlock)resolve
65
+ reject:(RCTPromiseRejectBlock)reject;
66
+
67
+ + (void)useDeviceLanguage:(NSString *)appName;
68
+
69
+ + (void)useEmulator:(NSString *)appName host:(nonnull NSString *)host port:(double)port;
70
+
71
+ #pragma mark - Sign in / sign out
72
+
73
+ + (void)signOut:(NSString *)appName
74
+ resolve:(RCTPromiseResolveBlock)resolve
75
+ reject:(RCTPromiseRejectBlock)reject;
76
+
77
+ + (void)signInAnonymously:(NSString *)appName
78
+ resolve:(RCTPromiseResolveBlock)resolve
79
+ reject:(RCTPromiseRejectBlock)reject;
80
+
81
+ + (void)signInWithEmailAndPassword:(NSString *)appName
82
+ email:(NSString *)email
83
+ password:(NSString *)password
84
+ resolve:(RCTPromiseResolveBlock)resolve
85
+ reject:(RCTPromiseRejectBlock)reject;
86
+
87
+ + (NSNumber *)isSignInWithEmailLink:(NSString *)appName emailLink:(NSString *)emailLink;
88
+
89
+ + (void)signInWithEmailLink:(NSString *)appName
90
+ email:(NSString *)email
91
+ emailLink:(NSString *)emailLink
92
+ resolve:(RCTPromiseResolveBlock)resolve
93
+ reject:(RCTPromiseRejectBlock)reject;
94
+
95
+ + (void)createUserWithEmailAndPassword:(NSString *)appName
96
+ email:(NSString *)email
97
+ password:(NSString *)password
98
+ resolve:(RCTPromiseResolveBlock)resolve
99
+ reject:(RCTPromiseRejectBlock)reject;
100
+
101
+ + (void)signInWithCustomToken:(NSString *)appName
102
+ customToken:(NSString *)customToken
103
+ resolve:(RCTPromiseResolveBlock)resolve
104
+ reject:(RCTPromiseRejectBlock)reject;
105
+
106
+ + (void)signInWithCredential:(NSString *)appName
107
+ provider:(NSString *)provider
108
+ authToken:(NSString *)authToken
109
+ authSecret:(NSString *)authSecret
110
+ fullName:(NSDictionary *)fullName
111
+ resolve:(RCTPromiseResolveBlock)resolve
112
+ reject:(RCTPromiseRejectBlock)reject;
113
+
114
+ + (void)signInWithProvider:(NSString *)appName
115
+ provider:(NSDictionary *)provider
116
+ resolve:(RCTPromiseResolveBlock)resolve
117
+ reject:(RCTPromiseRejectBlock)reject;
118
+
119
+ #pragma mark - Current user
120
+
121
+ + (void)deleteUser:(NSString *)appName
122
+ resolve:(RCTPromiseResolveBlock)resolve
123
+ reject:(RCTPromiseRejectBlock)reject;
124
+
125
+ + (void)reload:(NSString *)appName
126
+ resolve:(RCTPromiseResolveBlock)resolve
127
+ reject:(RCTPromiseRejectBlock)reject;
128
+
129
+ + (void)sendEmailVerification:(NSString *)appName
130
+ actionCodeSettings:(NSDictionary *)actionCodeSettings
131
+ resolve:(RCTPromiseResolveBlock)resolve
132
+ reject:(RCTPromiseRejectBlock)reject;
133
+
134
+ + (void)verifyBeforeUpdateEmail:(NSString *)appName
135
+ email:(NSString *)email
136
+ actionCodeSettings:(NSDictionary *)actionCodeSettings
137
+ resolve:(RCTPromiseResolveBlock)resolve
138
+ reject:(RCTPromiseRejectBlock)reject;
139
+
140
+ + (void)updateEmail:(NSString *)appName
141
+ email:(NSString *)email
142
+ resolve:(RCTPromiseResolveBlock)resolve
143
+ reject:(RCTPromiseRejectBlock)reject;
144
+
145
+ + (void)updatePassword:(NSString *)appName
146
+ password:(NSString *)password
147
+ resolve:(RCTPromiseResolveBlock)resolve
148
+ reject:(RCTPromiseRejectBlock)reject;
149
+
150
+ #if TARGET_OS_IOS
151
+ + (void)updatePhoneNumber:(NSString *)appName
152
+ provider:(NSString *)provider
153
+ authToken:(NSString *)authToken
154
+ authSecret:(NSString *)authSecret
155
+ resolve:(RCTPromiseResolveBlock)resolve
156
+ reject:(RCTPromiseRejectBlock)reject;
157
+ #endif
158
+
159
+ + (void)updateProfile:(NSString *)appName
160
+ props:(NSDictionary *)props
161
+ resolve:(RCTPromiseResolveBlock)resolve
162
+ reject:(RCTPromiseRejectBlock)reject;
163
+
164
+ + (void)getIdToken:(NSString *)appName
165
+ forceRefresh:(BOOL)forceRefresh
166
+ resolve:(RCTPromiseResolveBlock)resolve
167
+ reject:(RCTPromiseRejectBlock)reject;
168
+
169
+ + (void)getIdTokenResult:(NSString *)appName
170
+ forceRefresh:(BOOL)forceRefresh
171
+ resolve:(RCTPromiseResolveBlock)resolve
172
+ reject:(RCTPromiseRejectBlock)reject;
173
+
174
+ #pragma mark - Linking / re-auth / unlink
175
+
176
+ + (void)linkWithCredential:(NSString *)appName
177
+ provider:(NSString *)provider
178
+ authToken:(NSString *)authToken
179
+ authSecret:(NSString *)authSecret
180
+ resolve:(RCTPromiseResolveBlock)resolve
181
+ reject:(RCTPromiseRejectBlock)reject;
182
+
183
+ + (void)linkWithProvider:(NSString *)appName
184
+ provider:(NSDictionary *)provider
185
+ resolve:(RCTPromiseResolveBlock)resolve
186
+ reject:(RCTPromiseRejectBlock)reject;
187
+
188
+ + (void)unlink:(NSString *)appName
189
+ providerId:(NSString *)providerId
190
+ resolve:(RCTPromiseResolveBlock)resolve
191
+ reject:(RCTPromiseRejectBlock)reject;
192
+
193
+ + (void)reauthenticateWithCredential:(NSString *)appName
194
+ provider:(NSString *)provider
195
+ authToken:(NSString *)authToken
196
+ authSecret:(NSString *)authSecret
197
+ resolve:(RCTPromiseResolveBlock)resolve
198
+ reject:(RCTPromiseRejectBlock)reject;
199
+
200
+ + (void)reauthenticateWithProvider:(NSString *)appName
201
+ provider:(NSDictionary *)provider
202
+ resolve:(RCTPromiseResolveBlock)resolve
203
+ reject:(RCTPromiseRejectBlock)reject;
204
+
205
+ + (void)fetchSignInMethodsForEmail:(NSString *)appName
206
+ email:(NSString *)email
207
+ resolve:(RCTPromiseResolveBlock)resolve
208
+ reject:(RCTPromiseRejectBlock)reject;
209
+
210
+ #pragma mark - Action codes
211
+
212
+ + (void)confirmPasswordReset:(NSString *)appName
213
+ code:(NSString *)code
214
+ newPassword:(NSString *)newPassword
215
+ resolve:(RCTPromiseResolveBlock)resolve
216
+ reject:(RCTPromiseRejectBlock)reject;
217
+
218
+ + (void)applyActionCode:(NSString *)appName
219
+ code:(NSString *)code
220
+ resolve:(RCTPromiseResolveBlock)resolve
221
+ reject:(RCTPromiseRejectBlock)reject;
222
+
223
+ + (void)checkActionCode:(NSString *)appName
224
+ code:(NSString *)code
225
+ resolve:(RCTPromiseResolveBlock)resolve
226
+ reject:(RCTPromiseRejectBlock)reject;
227
+
228
+ + (void)revokeToken:(NSString *)appName
229
+ authorizationCode:(NSString *)authorizationCode
230
+ resolve:(RCTPromiseResolveBlock)resolve
231
+ reject:(RCTPromiseRejectBlock)reject;
232
+
233
+ + (void)sendPasswordResetEmail:(NSString *)appName
234
+ email:(NSString *)email
235
+ actionCodeSettings:(NSDictionary *)actionCodeSettings
236
+ resolve:(RCTPromiseResolveBlock)resolve
237
+ reject:(RCTPromiseRejectBlock)reject;
238
+
239
+ + (void)sendSignInLinkToEmail:(NSString *)appName
240
+ email:(NSString *)email
241
+ actionCodeSettings:(NSDictionary *)actionCodeSettings
242
+ resolve:(RCTPromiseResolveBlock)resolve
243
+ reject:(RCTPromiseRejectBlock)reject;
244
+
245
+ + (void)verifyPasswordResetCode:(NSString *)appName
246
+ code:(NSString *)code
247
+ resolve:(RCTPromiseResolveBlock)resolve
248
+ reject:(RCTPromiseRejectBlock)reject;
249
+
250
+ #pragma mark - Phone auth / multi-factor (iOS only)
251
+
252
+ #if TARGET_OS_IOS
253
+ + (void)signInWithPhoneNumber:(NSString *)appName
254
+ phoneNumber:(NSString *)phoneNumber
255
+ forceResend:(BOOL)forceResend
256
+ resolve:(RCTPromiseResolveBlock)resolve
257
+ reject:(RCTPromiseRejectBlock)reject;
258
+
259
+ + (void)verifyPhoneNumberWithMultiFactorInfo:(NSString *)appName
260
+ hintUid:(NSString *)hintUid
261
+ sessionKey:(NSString *)sessionKey
262
+ resolve:(RCTPromiseResolveBlock)resolve
263
+ reject:(RCTPromiseRejectBlock)reject;
264
+
265
+ + (void)verifyPhoneNumberForMultiFactor:(NSString *)appName
266
+ phoneNumber:(NSString *)phoneNumber
267
+ sessionKey:(NSString *)sessionKey
268
+ resolve:(RCTPromiseResolveBlock)resolve
269
+ reject:(RCTPromiseRejectBlock)reject;
270
+
271
+ + (void)resolveMultiFactorSignIn:(NSString *)appName
272
+ session:(NSString *)session
273
+ verificationId:(NSString *)verificationId
274
+ verificationCode:(NSString *)verificationCode
275
+ resolve:(RCTPromiseResolveBlock)resolve
276
+ reject:(RCTPromiseRejectBlock)reject;
277
+
278
+ + (void)resolveTotpSignIn:(NSString *)appName
279
+ sessionKey:(NSString *)sessionKey
280
+ uid:(NSString *)uid
281
+ oneTimePassword:(NSString *)oneTimePassword
282
+ resolve:(RCTPromiseResolveBlock)resolve
283
+ reject:(RCTPromiseRejectBlock)reject;
284
+
285
+ + (void)generateTotpSecret:(NSString *)appName
286
+ sessionKey:(NSString *)sessionKey
287
+ resolve:(RCTPromiseResolveBlock)resolve
288
+ reject:(RCTPromiseRejectBlock)reject;
289
+
290
+ + (NSString *)generateQrCodeUrl:(NSString *)appName
291
+ secretKey:(NSString *)secretKey
292
+ account:(NSString *)account
293
+ issuer:(NSString *)issuer;
294
+
295
+ + (void)openInOtpApp:(NSString *)appName
296
+ secretKey:(NSString *)secretKey
297
+ qrCodeUri:(NSString *)qrCodeUri;
298
+
299
+ + (void)getSession:(NSString *)appName
300
+ resolve:(RCTPromiseResolveBlock)resolve
301
+ reject:(RCTPromiseRejectBlock)reject;
302
+
303
+ + (void)unenrollMultiFactor:(NSString *)appName
304
+ factorUID:(NSString *)factorUID
305
+ resolve:(RCTPromiseResolveBlock)resolve
306
+ reject:(RCTPromiseRejectBlock)reject;
307
+
308
+ + (void)finalizeMultiFactorEnrollment:(NSString *)appName
309
+ verificationId:(NSString *)verificationId
310
+ verificationCode:(NSString *)verificationCode
311
+ displayName:(NSString *_Nullable)displayName
312
+ resolve:(RCTPromiseResolveBlock)resolve
313
+ reject:(RCTPromiseRejectBlock)reject;
314
+
315
+ + (void)finalizeTotpEnrollment:(NSString *)appName
316
+ totpSecret:(NSString *)totpSecret
317
+ verificationCode:(NSString *)verificationCode
318
+ displayName:(NSString *_Nullable)displayName
319
+ resolve:(RCTPromiseResolveBlock)resolve
320
+ reject:(RCTPromiseRejectBlock)reject;
321
+
322
+ + (void)verifyPhoneNumber:(NSString *)appName
323
+ phoneNumber:(NSString *)phoneNumber
324
+ requestKey:(NSString *)requestKey
325
+ timeout:(double)timeout
326
+ forceResend:(BOOL)forceResend;
327
+
328
+ + (void)confirmationResultConfirm:(NSString *)appName
329
+ verificationCode:(NSString *)verificationCode
330
+ resolve:(RCTPromiseResolveBlock)resolve
331
+ reject:(RCTPromiseRejectBlock)reject;
332
+ #endif
333
+
334
+ #pragma mark - Constants
335
+
336
+ + (NSDictionary *)authConstantsDictionary;
337
+
338
+ @end