summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@firebase/auth/dist/cordova/src/platform_browser/providers
diff options
context:
space:
mode:
Diffstat (limited to 'frontend-old/node_modules/@firebase/auth/dist/cordova/src/platform_browser/providers')
-rw-r--r--frontend-old/node_modules/@firebase/auth/dist/cordova/src/platform_browser/providers/phone.d.ts154
1 files changed, 154 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@firebase/auth/dist/cordova/src/platform_browser/providers/phone.d.ts b/frontend-old/node_modules/@firebase/auth/dist/cordova/src/platform_browser/providers/phone.d.ts
new file mode 100644
index 0000000..6c1d728
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/auth/dist/cordova/src/platform_browser/providers/phone.d.ts
@@ -0,0 +1,154 @@
+/**
+ * @license
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Auth, PhoneInfoOptions, ApplicationVerifier, UserCredential } from '../../model/public_types';
+import { PhoneAuthCredential } from '../../core/credentials/phone';
+import { AuthCredential } from '../../core';
+import { FirebaseError } from '@firebase/util';
+/**
+ * Provider for generating an {@link PhoneAuthCredential}.
+ *
+ * @remarks
+ * `PhoneAuthProvider` does not work in a Node.js environment.
+ *
+ * @example
+ * ```javascript
+ * // 'recaptcha-container' is the ID of an element in the DOM.
+ * const applicationVerifier = new RecaptchaVerifier('recaptcha-container');
+ * const provider = new PhoneAuthProvider(auth);
+ * const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);
+ * // Obtain the verificationCode from the user.
+ * const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
+ * const userCredential = await signInWithCredential(auth, phoneCredential);
+ * ```
+ *
+ * @public
+ */
+export declare class PhoneAuthProvider {
+ /** Always set to {@link ProviderId}.PHONE. */
+ static readonly PROVIDER_ID: 'phone';
+ /** Always set to {@link SignInMethod}.PHONE. */
+ static readonly PHONE_SIGN_IN_METHOD: 'phone';
+ /** Always set to {@link ProviderId}.PHONE. */
+ readonly providerId: "phone";
+ private readonly auth;
+ /**
+ * @param auth - The Firebase {@link Auth} instance in which sign-ins should occur.
+ *
+ */
+ constructor(auth: Auth);
+ /**
+ *
+ * Starts a phone number authentication flow by sending a verification code to the given phone
+ * number.
+ *
+ * @example
+ * ```javascript
+ * const provider = new PhoneAuthProvider(auth);
+ * const verificationId = await provider.verifyPhoneNumber(phoneNumber, applicationVerifier);
+ * // Obtain verificationCode from the user.
+ * const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
+ * const userCredential = await signInWithCredential(auth, authCredential);
+ * ```
+ *
+ * @example
+ * An alternative flow is provided using the `signInWithPhoneNumber` method.
+ * ```javascript
+ * const confirmationResult = signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
+ * // Obtain verificationCode from the user.
+ * const userCredential = confirmationResult.confirm(verificationCode);
+ * ```
+ *
+ * @param phoneInfoOptions - The user's {@link PhoneInfoOptions}. The phone number should be in
+ * E.164 format (e.g. +16505550101).
+ * @param applicationVerifier - An {@link ApplicationVerifier}, which prevents
+ * requests from unauthorized clients. This SDK includes an implementation
+ * based on reCAPTCHA v2, {@link RecaptchaVerifier}. If you've enabled
+ * reCAPTCHA Enterprise bot protection in Enforce mode, this parameter is
+ * optional; in all other configurations, the parameter is required.
+ *
+ * @returns A Promise for a verification ID that can be passed to
+ * {@link PhoneAuthProvider.credential} to identify this flow.
+ */
+ verifyPhoneNumber(phoneOptions: PhoneInfoOptions | string, applicationVerifier?: ApplicationVerifier): Promise<string>;
+ /**
+ * Creates a phone auth credential, given the verification ID from
+ * {@link PhoneAuthProvider.verifyPhoneNumber} and the code that was sent to the user's
+ * mobile device.
+ *
+ * @example
+ * ```javascript
+ * const provider = new PhoneAuthProvider(auth);
+ * const verificationId = provider.verifyPhoneNumber(phoneNumber, applicationVerifier);
+ * // Obtain verificationCode from the user.
+ * const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
+ * const userCredential = signInWithCredential(auth, authCredential);
+ * ```
+ *
+ * @example
+ * An alternative flow is provided using the `signInWithPhoneNumber` method.
+ * ```javascript
+ * const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
+ * // Obtain verificationCode from the user.
+ * const userCredential = await confirmationResult.confirm(verificationCode);
+ * ```
+ *
+ * @param verificationId - The verification ID returned from {@link PhoneAuthProvider.verifyPhoneNumber}.
+ * @param verificationCode - The verification code sent to the user's mobile device.
+ *
+ * @returns The auth provider credential.
+ */
+ static credential(verificationId: string, verificationCode: string): PhoneAuthCredential;
+ /**
+ * Generates an {@link AuthCredential} from a {@link UserCredential}.
+ * @param userCredential - The user credential.
+ */
+ static credentialFromResult(userCredential: UserCredential): AuthCredential | null;
+ /**
+ * Returns an {@link AuthCredential} when passed an error.
+ *
+ * @remarks
+ *
+ * This method works for errors like
+ * `auth/account-exists-with-different-credentials`. This is useful for
+ * recovering when attempting to set a user's phone number but the number
+ * in question is already tied to another account. For example, the following
+ * code tries to update the current user's phone number, and if that
+ * fails, links the user with the account associated with that number:
+ *
+ * ```js
+ * const provider = new PhoneAuthProvider(auth);
+ * const verificationId = await provider.verifyPhoneNumber(number, verifier);
+ * try {
+ * const code = ''; // Prompt the user for the verification code
+ * await updatePhoneNumber(
+ * auth.currentUser,
+ * PhoneAuthProvider.credential(verificationId, code));
+ * } catch (e) {
+ * if ((e as FirebaseError)?.code === 'auth/account-exists-with-different-credential') {
+ * const cred = PhoneAuthProvider.credentialFromError(e);
+ * await linkWithCredential(auth.currentUser, cred);
+ * }
+ * }
+ *
+ * // At this point, auth.currentUser.phoneNumber === number.
+ * ```
+ *
+ * @param error - The error to generate a credential from.
+ */
+ static credentialFromError(error: FirebaseError): AuthCredential | null;
+ private static credentialFromTaggedObject;
+}