@react-native-firebase/auth 24.1.0 → 25.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 +14 -0
- package/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java +16 -4
- package/dist/module/ActionCodeURL.js +140 -0
- package/dist/module/ActionCodeURL.js.map +1 -0
- package/{lib → dist/module}/ConfirmationResult.js +4 -5
- package/dist/module/ConfirmationResult.js.map +1 -0
- package/{lib → dist/module}/MultiFactorResolver.js +14 -5
- package/dist/module/MultiFactorResolver.js.map +1 -0
- package/{lib → dist/module}/PhoneAuthListener.js +52 -75
- package/dist/module/PhoneAuthListener.js.map +1 -0
- package/dist/module/PhoneAuthState.js +25 -0
- package/dist/module/PhoneAuthState.js.map +1 -0
- package/dist/module/PhoneMultiFactorGenerator.js +39 -0
- package/dist/module/PhoneMultiFactorGenerator.js.map +1 -0
- package/{lib → dist/module}/Settings.js +3 -7
- package/dist/module/Settings.js.map +1 -0
- package/{lib → dist/module}/TotpMultiFactorGenerator.js +20 -15
- package/dist/module/TotpMultiFactorGenerator.js.map +1 -0
- package/{lib → dist/module}/TotpSecret.js +7 -5
- package/dist/module/TotpSecret.js.map +1 -0
- package/dist/module/User.js +245 -0
- package/dist/module/User.js.map +1 -0
- package/dist/module/constants.js +54 -0
- package/dist/module/constants.js.map +1 -0
- package/dist/module/credentials/AuthCredential.js +51 -0
- package/dist/module/credentials/AuthCredential.js.map +1 -0
- package/dist/module/credentials/EmailAuthCredential.js +51 -0
- package/dist/module/credentials/EmailAuthCredential.js.map +1 -0
- package/dist/module/credentials/OAuthCredential.js +84 -0
- package/dist/module/credentials/OAuthCredential.js.map +1 -0
- package/dist/module/credentials/PhoneAuthCredential.js +50 -0
- package/dist/module/credentials/PhoneAuthCredential.js.map +1 -0
- package/{lib/providers/GoogleAuthProvider.js → dist/module/credentials/index.js} +7 -19
- package/dist/module/credentials/index.js.map +1 -0
- package/{lib → dist/module}/getMultiFactorResolver.js +5 -8
- package/dist/module/getMultiFactorResolver.js.map +1 -0
- package/{lib/providers/FacebookAuthProvider.js → dist/module/index.js} +11 -18
- package/dist/module/index.js.map +1 -0
- package/dist/module/modular.js +779 -0
- package/dist/module/modular.js.map +1 -0
- package/{lib → dist/module}/multiFactor.js +16 -14
- package/dist/module/multiFactor.js.map +1 -0
- package/dist/module/namespaced.js +522 -0
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/password-policy/PasswordPolicyImpl.js +103 -0
- package/dist/module/password-policy/PasswordPolicyImpl.js.map +1 -0
- package/{lib → dist/module}/password-policy/PasswordPolicyMixin.js +14 -16
- package/dist/module/password-policy/PasswordPolicyMixin.js.map +1 -0
- package/{lib → dist/module}/password-policy/passwordPolicyApi.js +18 -12
- package/dist/module/password-policy/passwordPolicyApi.js.map +1 -0
- package/{lib → dist/module}/providers/AppleAuthProvider.js +14 -7
- package/dist/module/providers/AppleAuthProvider.js.map +1 -0
- package/{lib → dist/module}/providers/EmailAuthProvider.js +10 -25
- package/dist/module/providers/EmailAuthProvider.js.map +1 -0
- package/dist/module/providers/FacebookAuthProvider.js +56 -0
- package/dist/module/providers/FacebookAuthProvider.js.map +1 -0
- package/dist/module/providers/GithubAuthProvider.js +49 -0
- package/dist/module/providers/GithubAuthProvider.js.map +1 -0
- package/dist/module/providers/GoogleAuthProvider.js +57 -0
- package/dist/module/providers/GoogleAuthProvider.js.map +1 -0
- package/dist/module/providers/OAuthProvider.js +116 -0
- package/dist/module/providers/OAuthProvider.js.map +1 -0
- package/{lib → dist/module}/providers/OIDCAuthProvider.js +15 -7
- package/dist/module/providers/OIDCAuthProvider.js.map +1 -0
- package/dist/module/providers/PhoneAuthProvider.js +87 -0
- package/dist/module/providers/PhoneAuthProvider.js.map +1 -0
- package/dist/module/providers/TwitterAuthProvider.js +50 -0
- package/dist/module/providers/TwitterAuthProvider.js.map +1 -0
- package/dist/module/types/auth.js +43 -0
- package/dist/module/types/auth.js.map +1 -0
- package/dist/module/types/internal.js +4 -0
- package/dist/module/types/internal.js.map +1 -0
- package/dist/module/types/namespaced.js +62 -0
- package/dist/module/types/namespaced.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/module/web/RNFBAuthModule.android.js +5 -0
- package/dist/module/web/RNFBAuthModule.android.js.map +1 -0
- package/dist/module/web/RNFBAuthModule.ios.js +5 -0
- package/dist/module/web/RNFBAuthModule.ios.js.map +1 -0
- package/{lib → dist/module}/web/RNFBAuthModule.js +104 -321
- package/dist/module/web/RNFBAuthModule.js.map +1 -0
- package/dist/typescript/lib/ActionCodeURL.d.ts +41 -0
- package/dist/typescript/lib/ActionCodeURL.d.ts.map +1 -0
- package/dist/typescript/lib/ConfirmationResult.d.ts +10 -0
- package/dist/typescript/lib/ConfirmationResult.d.ts.map +1 -0
- package/dist/typescript/lib/MultiFactorResolver.d.ts +24 -0
- package/dist/typescript/lib/MultiFactorResolver.d.ts.map +1 -0
- package/dist/typescript/lib/PhoneAuthListener.d.ts +34 -0
- package/dist/typescript/lib/PhoneAuthListener.d.ts.map +1 -0
- package/dist/typescript/lib/PhoneAuthState.d.ts +7 -0
- package/dist/typescript/lib/PhoneAuthState.d.ts.map +1 -0
- package/dist/typescript/lib/PhoneMultiFactorGenerator.d.ts +7 -0
- package/dist/typescript/lib/PhoneMultiFactorGenerator.d.ts.map +1 -0
- package/dist/typescript/lib/Settings.d.ts +13 -0
- package/dist/typescript/lib/Settings.d.ts.map +1 -0
- package/dist/typescript/lib/TotpMultiFactorGenerator.d.ts +11 -0
- package/dist/typescript/lib/TotpMultiFactorGenerator.d.ts.map +1 -0
- package/dist/typescript/lib/TotpSecret.d.ts +33 -0
- package/dist/typescript/lib/TotpSecret.d.ts.map +1 -0
- package/dist/typescript/lib/User.d.ts +51 -0
- package/dist/typescript/lib/User.d.ts.map +1 -0
- package/dist/typescript/lib/constants.d.ts +35 -0
- package/dist/typescript/lib/constants.d.ts.map +1 -0
- package/dist/typescript/lib/credentials/AuthCredential.d.ts +12 -0
- package/dist/typescript/lib/credentials/AuthCredential.d.ts.map +1 -0
- package/dist/typescript/lib/credentials/EmailAuthCredential.d.ts +8 -0
- package/dist/typescript/lib/credentials/EmailAuthCredential.d.ts.map +1 -0
- package/dist/typescript/lib/credentials/OAuthCredential.d.ts +22 -0
- package/dist/typescript/lib/credentials/OAuthCredential.d.ts.map +1 -0
- package/dist/typescript/lib/credentials/PhoneAuthCredential.d.ts +8 -0
- package/dist/typescript/lib/credentials/PhoneAuthCredential.d.ts.map +1 -0
- package/dist/typescript/lib/credentials/index.d.ts +5 -0
- package/dist/typescript/lib/credentials/index.d.ts.map +1 -0
- package/dist/typescript/lib/getMultiFactorResolver.d.ts +19 -0
- package/dist/typescript/lib/getMultiFactorResolver.d.ts.map +1 -0
- package/dist/typescript/lib/index.d.ts +8 -0
- package/dist/typescript/lib/index.d.ts.map +1 -0
- package/dist/typescript/lib/modular.d.ts +360 -0
- package/dist/typescript/lib/modular.d.ts.map +1 -0
- package/dist/typescript/lib/multiFactor.d.ts +26 -0
- package/dist/typescript/lib/multiFactor.d.ts.map +1 -0
- package/dist/typescript/lib/namespaced.d.ts +12 -0
- package/dist/typescript/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/lib/password-policy/PasswordPolicyImpl.d.ts +19 -0
- package/dist/typescript/lib/password-policy/PasswordPolicyImpl.d.ts.map +1 -0
- package/dist/typescript/lib/password-policy/PasswordPolicyMixin.d.ts +11 -0
- package/dist/typescript/lib/password-policy/PasswordPolicyMixin.d.ts.map +1 -0
- package/dist/typescript/lib/password-policy/passwordPolicyApi.d.ts +10 -0
- package/dist/typescript/lib/password-policy/passwordPolicyApi.d.ts.map +1 -0
- package/dist/typescript/lib/providers/AppleAuthProvider.d.ts +16 -0
- package/dist/typescript/lib/providers/AppleAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/EmailAuthProvider.d.ts +11 -0
- package/dist/typescript/lib/providers/EmailAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/FacebookAuthProvider.d.ts +19 -0
- package/dist/typescript/lib/providers/FacebookAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/GithubAuthProvider.d.ts +15 -0
- package/dist/typescript/lib/providers/GithubAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/GoogleAuthProvider.d.ts +21 -0
- package/dist/typescript/lib/providers/GoogleAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/OAuthProvider.d.ts +33 -0
- package/dist/typescript/lib/providers/OAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/OIDCAuthProvider.d.ts +16 -0
- package/dist/typescript/lib/providers/OIDCAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts +16 -0
- package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/providers/TwitterAuthProvider.d.ts +15 -0
- package/dist/typescript/lib/providers/TwitterAuthProvider.d.ts.map +1 -0
- package/dist/typescript/lib/types/auth.d.ts +305 -0
- package/dist/typescript/lib/types/auth.d.ts.map +1 -0
- package/dist/typescript/lib/types/internal.d.ts +292 -0
- package/dist/typescript/lib/types/internal.d.ts.map +1 -0
- package/dist/typescript/lib/types/namespaced.d.ts +2185 -0
- package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
- package/dist/typescript/lib/version.d.ts +2 -0
- package/dist/typescript/lib/version.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBAuthModule.android.d.ts +3 -0
- package/dist/typescript/lib/web/RNFBAuthModule.android.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBAuthModule.d.ts +406 -0
- package/dist/typescript/lib/web/RNFBAuthModule.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBAuthModule.ios.d.ts +3 -0
- package/dist/typescript/lib/web/RNFBAuthModule.ios.d.ts.map +1 -0
- package/dist/typescript/package.json +1 -0
- package/ios/RNFBAuth/RNFBAuthModule.m +4 -2
- package/lib/ActionCodeURL.ts +174 -0
- package/lib/ConfirmationResult.ts +42 -0
- package/lib/MultiFactorResolver.ts +51 -0
- package/lib/PhoneAuthListener.ts +312 -0
- package/lib/PhoneAuthState.ts +22 -0
- package/lib/{PhoneMultiFactorGenerator.js → PhoneMultiFactorGenerator.ts} +8 -2
- package/lib/Settings.ts +59 -0
- package/lib/TotpMultiFactorGenerator.ts +78 -0
- package/lib/TotpSecret.ts +71 -0
- package/lib/{User.js → User.ts} +127 -83
- package/lib/constants.ts +55 -0
- package/lib/credentials/AuthCredential.ts +55 -0
- package/lib/credentials/EmailAuthCredential.ts +70 -0
- package/lib/credentials/OAuthCredential.ts +113 -0
- package/lib/credentials/PhoneAuthCredential.ts +66 -0
- package/lib/{providers/GithubAuthProvider.js → credentials/index.ts} +4 -19
- package/lib/getMultiFactorResolver.ts +40 -0
- package/lib/{providers/TwitterAuthProvider.js → index.ts} +14 -19
- package/lib/modular.ts +1158 -0
- package/lib/multiFactor.ts +83 -0
- package/lib/namespaced.ts +846 -0
- package/lib/password-policy/{PasswordPolicyImpl.js → PasswordPolicyImpl.ts} +37 -19
- package/lib/password-policy/PasswordPolicyMixin.ts +83 -0
- package/lib/password-policy/passwordPolicyApi.ts +60 -0
- package/lib/providers/AppleAuthProvider.ts +44 -0
- package/lib/providers/EmailAuthProvider.ts +42 -0
- package/lib/providers/FacebookAuthProvider.ts +58 -0
- package/lib/providers/GithubAuthProvider.ts +51 -0
- package/lib/providers/GoogleAuthProvider.ts +60 -0
- package/lib/providers/OAuthProvider.ts +150 -0
- package/lib/providers/OIDCAuthProvider.ts +49 -0
- package/lib/providers/PhoneAuthProvider.ts +161 -0
- package/lib/providers/TwitterAuthProvider.ts +52 -0
- package/lib/types/auth.ts +393 -0
- package/lib/types/internal.ts +474 -0
- package/lib/{index.d.ts → types/namespaced.ts} +52 -41
- package/lib/version.ts +2 -0
- package/lib/web/RNFBAuthModule.ts +1359 -0
- package/package.json +41 -9
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/tsconfig.json +26 -0
- package/tsdoc.json +22 -0
- package/typedoc.json +9 -2
- package/lib/index.js +0 -572
- package/lib/modular/index.d.ts +0 -801
- package/lib/modular/index.js +0 -651
- package/lib/providers/OAuthProvider.js +0 -70
- package/lib/providers/PhoneAuthProvider.js +0 -52
- package/lib/version.js +0 -2
- /package/lib/web/{RNFBAuthModule.android.js → RNFBAuthModule.android.ts} +0 -0
- /package/lib/web/{RNFBAuthModule.ios.js → RNFBAuthModule.ios.ts} +0 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import type { ReactNativeFirebase } from '@react-native-firebase/app';
|
|
2
|
+
import type { ModuleConfig, NativeErrorUserInfo } from '@react-native-firebase/app/dist/module/types/internal';
|
|
3
|
+
import type EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';
|
|
4
|
+
import type { ActionCodeInfo, ActionCodeSettings, Auth, AuthCredential, AuthProvider, IdTokenResult, MultiFactorAssertion, PhoneAuthListener, User, UserCredential } from './auth';
|
|
5
|
+
import type { CallbackOrObserver, FirebaseAuthTypes } from './namespaced';
|
|
6
|
+
export type AuthModularDeprecationArg = string;
|
|
7
|
+
export type WithAuthDeprecationArg<F> = F extends (...args: infer P) => infer R ? (...args: [...P, AuthModularDeprecationArg]) => R : never;
|
|
8
|
+
export interface AppWithAuthInternal {
|
|
9
|
+
auth(deprecationArg?: AuthModularDeprecationArg): Auth;
|
|
10
|
+
}
|
|
11
|
+
export type AuthListenerCallbackInternal = (user: User | null) => void;
|
|
12
|
+
export type AuthProviderWithObjectInternal = AuthProvider & {
|
|
13
|
+
toObject(): Record<string, unknown>;
|
|
14
|
+
};
|
|
15
|
+
export type UserCredentialWithAdditionalUserInfoInternal = UserCredential & {
|
|
16
|
+
user: FirebaseAuthTypes.User;
|
|
17
|
+
additionalUserInfo?: FirebaseAuthTypes.AdditionalUserInfo;
|
|
18
|
+
};
|
|
19
|
+
export type UserCredentialResultInternal = FirebaseAuthTypes.UserCredential & Partial<Pick<UserCredential, 'operationType' | 'providerId'>>;
|
|
20
|
+
export type ActionCodeInfoResultInternal = FirebaseAuthTypes.ActionCodeInfo | ActionCodeInfo;
|
|
21
|
+
export type ConfirmationResultResultInternal = {
|
|
22
|
+
verificationId: string | null;
|
|
23
|
+
confirm(verificationCode: string): Promise<UserCredentialResultInternal | null>;
|
|
24
|
+
};
|
|
25
|
+
export type MultiFactorResolverResultInternal = {
|
|
26
|
+
hints: FirebaseAuthTypes.MultiFactorInfo[];
|
|
27
|
+
session: FirebaseAuthTypes.MultiFactorSession;
|
|
28
|
+
resolveSignIn(assertion: FirebaseAuthTypes.MultiFactorAssertion | MultiFactorAssertion): Promise<UserCredentialResultInternal>;
|
|
29
|
+
};
|
|
30
|
+
export type MultiFactorUserSourceInternal = FirebaseAuthTypes.User;
|
|
31
|
+
export type MultiFactorUserResultInternal = {
|
|
32
|
+
enrolledFactors: FirebaseAuthTypes.MultiFactorInfo[];
|
|
33
|
+
getSession(): Promise<FirebaseAuthTypes.MultiFactorSession>;
|
|
34
|
+
enroll(assertion: FirebaseAuthTypes.MultiFactorAssertion | MultiFactorAssertion, displayName?: string | null): Promise<void>;
|
|
35
|
+
unenroll(option: FirebaseAuthTypes.MultiFactorInfo | string): Promise<void>;
|
|
36
|
+
};
|
|
37
|
+
export type MultiFactorEnrollmentAssertionInternal = {
|
|
38
|
+
factorId: 'phone';
|
|
39
|
+
token: string;
|
|
40
|
+
secret: string;
|
|
41
|
+
} | {
|
|
42
|
+
factorId: 'totp';
|
|
43
|
+
totpSecret: string;
|
|
44
|
+
verificationCode: string;
|
|
45
|
+
};
|
|
46
|
+
export interface NativeUserMetadataInternal {
|
|
47
|
+
creationTime: string;
|
|
48
|
+
lastSignInTime: string;
|
|
49
|
+
}
|
|
50
|
+
export interface NativeUserInfoInternal {
|
|
51
|
+
uid: string;
|
|
52
|
+
providerId: string;
|
|
53
|
+
displayName?: string | null;
|
|
54
|
+
email?: string | null;
|
|
55
|
+
phoneNumber?: string | null;
|
|
56
|
+
photoURL?: string | null;
|
|
57
|
+
tenantId?: string | null;
|
|
58
|
+
}
|
|
59
|
+
export interface NativeUserInternal {
|
|
60
|
+
uid: string;
|
|
61
|
+
providerId: string;
|
|
62
|
+
providerData: NativeUserInfoInternal[];
|
|
63
|
+
displayName?: string | null;
|
|
64
|
+
email?: string | null;
|
|
65
|
+
emailVerified?: boolean;
|
|
66
|
+
isAnonymous?: boolean;
|
|
67
|
+
metadata: NativeUserMetadataInternal;
|
|
68
|
+
multiFactor?: FirebaseAuthTypes.MultiFactor | null;
|
|
69
|
+
phoneNumber?: string | null;
|
|
70
|
+
photoURL?: string | null;
|
|
71
|
+
tenantId?: string | null;
|
|
72
|
+
}
|
|
73
|
+
export interface NativeUserCredentialInternal {
|
|
74
|
+
additionalUserInfo?: FirebaseAuthTypes.AdditionalUserInfo;
|
|
75
|
+
user: NativeUserInternal;
|
|
76
|
+
}
|
|
77
|
+
export interface NativePhoneAuthCredentialInternal {
|
|
78
|
+
verificationId: string;
|
|
79
|
+
code?: string | null;
|
|
80
|
+
}
|
|
81
|
+
export interface NativePhoneAuthErrorInternal {
|
|
82
|
+
verificationId: string;
|
|
83
|
+
error: NativeErrorUserInfo;
|
|
84
|
+
}
|
|
85
|
+
export interface AuthStateChangedEventInternal {
|
|
86
|
+
user: NativeUserInternal | null;
|
|
87
|
+
}
|
|
88
|
+
export interface AuthIdTokenChangedEventInternal {
|
|
89
|
+
user: NativeUserInternal | null;
|
|
90
|
+
}
|
|
91
|
+
export interface PhoneAuthStateChangedEventInternal {
|
|
92
|
+
requestKey: string;
|
|
93
|
+
type: 'onCodeSent' | 'onVerificationFailed' | 'onVerificationComplete' | 'onCodeAutoRetrievalTimeout';
|
|
94
|
+
state: NativePhoneAuthCredentialInternal | NativePhoneAuthErrorInternal;
|
|
95
|
+
}
|
|
96
|
+
export type AuthNativeEventInternal = AuthStateChangedEventInternal | AuthIdTokenChangedEventInternal | PhoneAuthStateChangedEventInternal;
|
|
97
|
+
export interface PasswordPolicyCustomStrengthOptionsInternal {
|
|
98
|
+
minPasswordLength?: number;
|
|
99
|
+
maxPasswordLength?: number;
|
|
100
|
+
containsLowercaseLetter?: boolean;
|
|
101
|
+
containsUppercaseLetter?: boolean;
|
|
102
|
+
containsNumericCharacter?: boolean;
|
|
103
|
+
containsNonAlphanumericCharacter?: boolean;
|
|
104
|
+
}
|
|
105
|
+
export interface PasswordPolicyInternal {
|
|
106
|
+
readonly customStrengthOptions: PasswordPolicyCustomStrengthOptionsInternal;
|
|
107
|
+
readonly allowedNonAlphanumericCharacters: string;
|
|
108
|
+
readonly enforcementState: string;
|
|
109
|
+
readonly forceUpgradeOnSignin: boolean;
|
|
110
|
+
readonly schemaVersion: number;
|
|
111
|
+
validatePassword(password: string): PasswordValidationStatusInternal;
|
|
112
|
+
}
|
|
113
|
+
export interface PasswordPolicyResponseCustomStrengthOptionsInternal {
|
|
114
|
+
minPasswordLength?: number;
|
|
115
|
+
maxPasswordLength?: number;
|
|
116
|
+
containsLowercaseCharacter?: boolean;
|
|
117
|
+
containsUppercaseCharacter?: boolean;
|
|
118
|
+
containsNumericCharacter?: boolean;
|
|
119
|
+
containsNonAlphanumericCharacter?: boolean;
|
|
120
|
+
}
|
|
121
|
+
export interface PasswordPolicyResponseInternal {
|
|
122
|
+
customStrengthOptions?: PasswordPolicyResponseCustomStrengthOptionsInternal;
|
|
123
|
+
allowedNonAlphanumericCharacters?: string[];
|
|
124
|
+
enforcementState?: string;
|
|
125
|
+
forceUpgradeOnSignin?: boolean;
|
|
126
|
+
schemaVersion: number;
|
|
127
|
+
}
|
|
128
|
+
export type PasswordValidationStatusInternal = {
|
|
129
|
+
isValid: boolean;
|
|
130
|
+
meetsMinPasswordLength?: boolean;
|
|
131
|
+
meetsMaxPasswordLength?: boolean;
|
|
132
|
+
containsLowercaseLetter?: boolean;
|
|
133
|
+
containsUppercaseLetter?: boolean;
|
|
134
|
+
containsNumericCharacter?: boolean;
|
|
135
|
+
containsNonAlphanumericCharacter?: boolean;
|
|
136
|
+
passwordPolicy: PasswordPolicyInternal;
|
|
137
|
+
};
|
|
138
|
+
export interface PasswordPolicyHostInternal {
|
|
139
|
+
app: ReactNativeFirebase.FirebaseApp;
|
|
140
|
+
_tenantId: string | null;
|
|
141
|
+
_projectPasswordPolicy: PasswordPolicyInternal | null;
|
|
142
|
+
_tenantPasswordPolicies: Record<string, PasswordPolicyInternal | null>;
|
|
143
|
+
}
|
|
144
|
+
export interface PasswordPolicyMixinInternal {
|
|
145
|
+
_getPasswordPolicyInternal(): PasswordPolicyInternal | null;
|
|
146
|
+
_updatePasswordPolicy(): Promise<void>;
|
|
147
|
+
_recachePasswordPolicy(): Promise<void>;
|
|
148
|
+
validatePassword(password: string): Promise<PasswordValidationStatusInternal>;
|
|
149
|
+
}
|
|
150
|
+
export interface RNFBAuthModule {
|
|
151
|
+
APP_LANGUAGE: Record<string, string | undefined>;
|
|
152
|
+
APP_USER: Record<string, NativeUserInternal | undefined>;
|
|
153
|
+
addAuthStateListener(): void | Promise<void>;
|
|
154
|
+
addIdTokenListener(): void | Promise<void>;
|
|
155
|
+
configureAuthDomain(): void | Promise<void>;
|
|
156
|
+
setLanguageCode(code: string | null): Promise<void>;
|
|
157
|
+
setTenantId(tenantId: string | null): Promise<void>;
|
|
158
|
+
signOut(): Promise<void>;
|
|
159
|
+
signInAnonymously(): Promise<NativeUserCredentialInternal>;
|
|
160
|
+
signInWithPhoneNumber(phoneNumber: string, forceResend?: boolean): Promise<NativePhoneAuthCredentialInternal>;
|
|
161
|
+
verifyPhoneNumber(phoneNumber: string, requestKey: string, timeout?: number, forceResend?: boolean): void | Promise<void>;
|
|
162
|
+
verifyPhoneNumberWithMultiFactorInfo(uid: string, session: FirebaseAuthTypes.MultiFactorSession): Promise<string>;
|
|
163
|
+
verifyPhoneNumberForMultiFactor(phoneNumber: string, session: FirebaseAuthTypes.MultiFactorSession): Promise<string>;
|
|
164
|
+
resolveMultiFactorSignIn(session: FirebaseAuthTypes.MultiFactorSession, verificationId: string, verificationCode: string): Promise<NativeUserCredentialInternal>;
|
|
165
|
+
resolveTotpSignIn(session: FirebaseAuthTypes.MultiFactorSession, uid: string, totpSecret: string): Promise<NativeUserCredentialInternal>;
|
|
166
|
+
createUserWithEmailAndPassword(email: string, password: string): Promise<NativeUserCredentialInternal>;
|
|
167
|
+
signInWithEmailAndPassword(email: string, password: string): Promise<NativeUserCredentialInternal>;
|
|
168
|
+
signInWithCustomToken(customToken: string): Promise<NativeUserCredentialInternal>;
|
|
169
|
+
signInWithCredential(providerId: string, token: string, secret?: string | null): Promise<NativeUserCredentialInternal>;
|
|
170
|
+
revokeToken(authorizationCode: string): Promise<void>;
|
|
171
|
+
sendPasswordResetEmail(email: string, actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings | null): Promise<void>;
|
|
172
|
+
sendSignInLinkToEmail(email: string, actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings): Promise<void>;
|
|
173
|
+
isSignInWithEmailLink(emailLink: string): Promise<boolean>;
|
|
174
|
+
signInWithEmailLink(email: string, emailLink?: string): Promise<NativeUserCredentialInternal>;
|
|
175
|
+
confirmPasswordReset(code: string, newPassword: string): Promise<void>;
|
|
176
|
+
applyActionCode(code: string): Promise<NativeUserInternal | null | undefined>;
|
|
177
|
+
checkActionCode(code: string): Promise<FirebaseAuthTypes.ActionCodeInfo>;
|
|
178
|
+
fetchSignInMethodsForEmail(email: string): Promise<string[]>;
|
|
179
|
+
verifyPasswordResetCode(code: string): Promise<string>;
|
|
180
|
+
useUserAccessGroup(userAccessGroup: string): Promise<null | void>;
|
|
181
|
+
signInWithProvider(provider: Record<string, unknown>): Promise<NativeUserCredentialInternal>;
|
|
182
|
+
useEmulator(host: string, port?: number): void;
|
|
183
|
+
getCustomAuthDomain(): Promise<string>;
|
|
184
|
+
confirmationResultConfirm(verificationCode: string): Promise<NativeUserCredentialInternal>;
|
|
185
|
+
delete(): Promise<void>;
|
|
186
|
+
getIdToken(forceRefresh: boolean): Promise<string>;
|
|
187
|
+
getIdTokenResult(forceRefresh: boolean): Promise<IdTokenResult>;
|
|
188
|
+
linkWithCredential(providerId: string, token: string, secret?: string | null): Promise<NativeUserCredentialInternal>;
|
|
189
|
+
linkWithProvider(provider: Record<string, unknown>): Promise<NativeUserCredentialInternal>;
|
|
190
|
+
reauthenticateWithCredential(providerId: string, token: string, secret?: string | null): Promise<NativeUserCredentialInternal>;
|
|
191
|
+
reauthenticateWithProvider(provider: Record<string, unknown>): Promise<NativeUserCredentialInternal>;
|
|
192
|
+
reload(): Promise<NativeUserInternal>;
|
|
193
|
+
sendEmailVerification(actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings): Promise<NativeUserInternal>;
|
|
194
|
+
unlink(providerId: string): Promise<NativeUserInternal>;
|
|
195
|
+
updateEmail(email: string): Promise<NativeUserInternal>;
|
|
196
|
+
updatePassword(password: string): Promise<NativeUserInternal>;
|
|
197
|
+
updatePhoneNumber(providerId: string, token: string, secret?: string | null): Promise<NativeUserInternal>;
|
|
198
|
+
updateProfile(updates: {
|
|
199
|
+
displayName?: string | null;
|
|
200
|
+
photoURL?: string | null;
|
|
201
|
+
}): Promise<NativeUserInternal>;
|
|
202
|
+
verifyBeforeUpdateEmail(newEmail: string, actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings): Promise<NativeUserInternal>;
|
|
203
|
+
forceRecaptchaFlowForTesting(forceRecaptchaFlow: boolean): void | Promise<void>;
|
|
204
|
+
setAppVerificationDisabledForTesting(disabled: boolean): void | Promise<void>;
|
|
205
|
+
setAutoRetrievedSmsCodeForPhoneNumber(phoneNumber: string, smsCode: string): Promise<null>;
|
|
206
|
+
getSession(): Promise<FirebaseAuthTypes.MultiFactorSession>;
|
|
207
|
+
finalizeMultiFactorEnrollment(token: string, secret: string, displayName?: string): Promise<void>;
|
|
208
|
+
finalizeTotpEnrollment(totpSecret: string, verificationCode: string, displayName?: string): Promise<void>;
|
|
209
|
+
unenrollMultiFactor(enrollmentId: string | FirebaseAuthTypes.MultiFactorInfo): Promise<void>;
|
|
210
|
+
getMultiFactorResolver(error: unknown): MultiFactorResolverResultInternal | null;
|
|
211
|
+
generateTotpSecret(session: FirebaseAuthTypes.MultiFactorSession): Promise<{
|
|
212
|
+
secretKey: string;
|
|
213
|
+
}>;
|
|
214
|
+
generateQrCodeUrl(secretKey: string, accountName: string, issuer: string): Promise<string>;
|
|
215
|
+
openInOtpApp(secretKey: string, qrCodeUrl: string): string | void;
|
|
216
|
+
assertionForSignIn(uid: string, verificationCode: string): {
|
|
217
|
+
uid: string;
|
|
218
|
+
verificationCode: string;
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
export type AuthInternal = Auth & {
|
|
222
|
+
app: ReactNativeFirebase.FirebaseApp;
|
|
223
|
+
currentUser: FirebaseAuthTypes.User | null;
|
|
224
|
+
applyActionCode(code: string): Promise<void>;
|
|
225
|
+
checkActionCode(code: string): Promise<ActionCodeInfoResultInternal>;
|
|
226
|
+
confirmPasswordReset(code: string, newPassword: string): Promise<void>;
|
|
227
|
+
createUserWithEmailAndPassword(email: string, password: string): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
228
|
+
fetchSignInMethodsForEmail(email: string): Promise<string[]>;
|
|
229
|
+
getCustomAuthDomain(): Promise<string>;
|
|
230
|
+
getMultiFactorResolver(error: unknown): MultiFactorResolverResultInternal | null;
|
|
231
|
+
isSignInWithEmailLink(emailLink: string): Promise<boolean>;
|
|
232
|
+
onAuthStateChanged(listenerOrObserver: CallbackOrObserver<AuthListenerCallbackInternal>): () => void;
|
|
233
|
+
onIdTokenChanged(listenerOrObserver: CallbackOrObserver<AuthListenerCallbackInternal>): () => void;
|
|
234
|
+
sendPasswordResetEmail(email: string, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;
|
|
235
|
+
sendSignInLinkToEmail(email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
|
|
236
|
+
setLanguageCode(code: string | null): Promise<void>;
|
|
237
|
+
signInAnonymously(): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
238
|
+
signInWithCredential(credential: AuthCredential): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
239
|
+
signInWithCustomToken(customToken: string): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
240
|
+
signInWithEmailAndPassword(email: string, password: string): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
241
|
+
signInWithEmailLink(email: string, emailLink?: string): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
242
|
+
signInWithPhoneNumber(phoneNumber: string, forceResend?: boolean): Promise<ConfirmationResultResultInternal>;
|
|
243
|
+
signInWithPopup(provider: AuthProviderWithObjectInternal): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
244
|
+
signInWithRedirect(provider: AuthProviderWithObjectInternal): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
245
|
+
signOut(): Promise<void>;
|
|
246
|
+
useEmulator(url: string, options?: {
|
|
247
|
+
disableWarnings?: boolean;
|
|
248
|
+
}): void;
|
|
249
|
+
useUserAccessGroup(userAccessGroup: string): Promise<void>;
|
|
250
|
+
verifyPhoneNumber(phoneNumber: string, autoVerifyTimeoutOrForceResend?: number | boolean, forceResend?: boolean): PhoneAuthListener;
|
|
251
|
+
verifyPasswordResetCode(code: string): Promise<string>;
|
|
252
|
+
native: RNFBAuthModule;
|
|
253
|
+
emitter: EventEmitter;
|
|
254
|
+
eventNameForApp(...args: Array<string | number>): string;
|
|
255
|
+
_config: ModuleConfig;
|
|
256
|
+
_tenantId: string | null;
|
|
257
|
+
_projectPasswordPolicy: PasswordPolicyInternal | null;
|
|
258
|
+
_tenantPasswordPolicies: Record<string, PasswordPolicyInternal | null>;
|
|
259
|
+
_setUser(user?: NativeUserInternal | null): FirebaseAuthTypes.User | null;
|
|
260
|
+
_setUserCredential(userCredential: NativeUserCredentialInternal): UserCredentialWithAdditionalUserInfoInternal;
|
|
261
|
+
resolveMultiFactorSignIn(session: FirebaseAuthTypes.MultiFactorSession, verificationId: string, verificationCode: string): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
262
|
+
resolveTotpSignIn(session: FirebaseAuthTypes.MultiFactorSession, uid: string, totpSecret: string): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
263
|
+
} & PasswordPolicyMixinInternal;
|
|
264
|
+
export type UserInternal = FirebaseAuthTypes.User & {
|
|
265
|
+
_auth?: AuthInternal;
|
|
266
|
+
_user?: NativeUserInternal;
|
|
267
|
+
getIdTokenResult(forceRefresh?: boolean): Promise<IdTokenResult>;
|
|
268
|
+
linkWithCredential(credential: AuthCredential): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
269
|
+
linkWithPopup(provider: AuthProviderWithObjectInternal): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
270
|
+
linkWithRedirect(provider: AuthProviderWithObjectInternal): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
271
|
+
reauthenticateWithCredential(credential: AuthCredential): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
272
|
+
reauthenticateWithPopup(provider: AuthProviderWithObjectInternal): Promise<UserCredentialWithAdditionalUserInfoInternal>;
|
|
273
|
+
reauthenticateWithRedirect(provider: AuthProviderWithObjectInternal): Promise<void>;
|
|
274
|
+
sendEmailVerification(actionCodeSettings?: ActionCodeSettings): Promise<void>;
|
|
275
|
+
unlink(providerId: string): Promise<User>;
|
|
276
|
+
updateEmail(email: string): Promise<void>;
|
|
277
|
+
updatePassword(password: string): Promise<void>;
|
|
278
|
+
updatePhoneNumber(credential: AuthCredential): Promise<void>;
|
|
279
|
+
updateProfile(updates: {
|
|
280
|
+
displayName?: string | null;
|
|
281
|
+
photoURL?: string | null;
|
|
282
|
+
}): Promise<void>;
|
|
283
|
+
verifyBeforeUpdateEmail(newEmail: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
|
|
284
|
+
};
|
|
285
|
+
export type ConfirmationResultInternal = FirebaseAuthTypes.ConfirmationResult;
|
|
286
|
+
export type MultiFactorResolverInternal = FirebaseAuthTypes.MultiFactorResolver;
|
|
287
|
+
declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
|
|
288
|
+
interface ReactNativeFirebaseNativeModules {
|
|
289
|
+
RNFBAuthModule: RNFBAuthModule;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"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"}
|