Firebase認証
機能
関数 | 説明 |
---|---|
関数(アプリ、...) | |
getAuth(アプリ) | 提供されたFirebaseAppに関連付けられた Auth インスタンスを返します。インスタンスが存在しない場合は、プラットフォーム固有のデフォルトの依存関係を使用して Auth インスタンスを初期化します。 |
初期化認証(app、deps) | 依存関係をきめ細かく制御してAuthインスタンスを初期化します。 。 |
機能(ストレージ、...) | |
getReactNativePersistence(ストレージ) | react-native または@react-native-community/async-storage からインポートされたAsyncStorage をラップする永続オブジェクトを返します。このオブジェクトは、 initializeAuth()の永続依存関係フィールドで使用できます。 。 |
関数(認証, ...) | |
applyActionCode(auth, oobCode) | 電子メールまたはその他の帯域外メカニズムによってユーザーに送信された確認コードを適用します。 |
beforeAuthStateChanged(認証、コールバック、onAbort) | 認証状態の変更によって新しいユーザーが設定される前に実行されるブロッキング コールバックを追加します。 |
checkActionCode(auth, oobCode) | 電子メールまたはその他の帯域外メカニズムによってユーザーに送信された確認コードを確認します。 |
confirmPasswordReset(auth, oobCode, newPassword) | 確認コードと新しいパスワードを入力して、パスワードのリセット プロセスを完了します。 |
connectAuthEmulator(認証、URL、オプション) | 本番環境の Firebase Auth サービスではなく、Firebase Auth エミュレータと通信するようにAuthインスタンスを変更します。 |
createUserWithEmailAndPassword(認証、電子メール、パスワード) | 指定された電子メール アドレスとパスワードに関連付けられた新しいユーザー アカウントを作成します。 |
fetchSignInMethodsForEmail(認証, 電子メール) | 指定された電子メール アドレスで使用できるサインイン方法のリストを取得します。このメソッドは、[電子メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) が有効になっている場合、メールで使用できる認証方法の数に関係なく、空のリストを返します。与えられたメール。 |
getMultiFactorResolver(認証、エラー) | 多要素フローの完了に適したMultiFactorResolverを提供します。 |
getRedirectResult(認証、リゾルバー) | リダイレクトベースのサインイン フローからUserCredentialを返します。 |
初期化RecaptchaConfig(認証) | reCAPTCHA 設定をAuth インスタンスにロードします。 |
isSignInWithEmailLink(auth, emailLink) | 受信リンクが、 signInWithEmailLink()に適した電子メールによるサインイン リンクであるかどうかを確認します。 。 |
onAuthStateChanged(認証、nextOrObserver、エラー、完了) | ユーザーのサインイン状態の変更に対するオブザーバーを追加します。 |
onIdTokenChanged(認証、nextOrObserver、エラー、完了) | サインインしているユーザーの ID トークンへの変更を監視するオブザーバーを追加します。 |
revokeAccessToken(認証, トークン) | 指定されたアクセス トークンを取り消します。現在、Apple OAuth アクセス トークンのみをサポートしています。 |
sendPasswordResetEmail(認証、電子メール、actionCodeSettings) | 指定された電子メール アドレスにパスワード リセット電子メールを送信します。指定されたメール アドレスを持つユーザー アカウントがなく、[メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) が有効になっている場合、このメソッドはエラーをスローしません。 。 |
sendSignInLinkToEmail(認証、電子メール、actionCodeSettings) | 指定された電子メールを使用して、サインイン電子メール リンクをユーザーに送信します。 |
setPersistence(認証, 永続性) | 現在保存されているAuth セッションの認証インスタンスの永続性のタイプを変更し、リダイレクト要求によるサインインを含む今後のサインイン要求にこのタイプの永続性を適用します。 |
匿名でサインイン(認証) | 匿名ユーザーとして非同期にサインインします。 |
SignInWithCredential(認証, 資格情報) | 指定された資格情報を使用して非同期的にサインインします。 |
SignInWithCustomToken(auth, カスタムトークン) | カスタム トークンを使用して非同期にサインインします。 |
SignInWithEmailAndPassword(認証、電子メール、パスワード) | 電子メールとパスワードを使用して非同期にサインインします。 |
SignInWithEmailLink(認証、電子メール、電子メールリンク) | 電子メールとサインイン電子メール リンクを使用して非同期にサインインします。 |
SignInWithPhoneNumber(認証、電話番号、appVerifier) | 電話番号を使用して非同期にサインインします。 |
SignInWithPopup(認証、プロバイダー、リゾルバー) | ポップアップベースの OAuth 認証フローを使用して Firebase クライアントを認証します。 |
SignInWithRedirect(認証、プロバイダー、リゾルバー) | フルページ リダイレクト フローを使用して Firebase クライアントを認証します。 |
サインアウト(認証) | 現在のユーザーをサインアウトします。 |
updateCurrentUser(認証, ユーザー) | 提供されたユーザーをAuthインスタンスのAuth.currentUserとして非同期的に設定します。 |
useDeviceLanguage(認証) | 現在の言語をデフォルトのデバイス/ブラウザ設定に設定します。 |
validatePassword(認証, パスワード) | プロジェクトまたはテナントに構成されたパスワード ポリシーに照らしてパスワードを検証します。 |
verifyPasswordResetCode(認証, コード) | 電子メールまたはその他の帯域外メカニズムによってユーザーに送信されたパスワード リセット コードを確認します。 |
関数(リンク, ...) | |
parseActionCodeURL(リンク) | 電子メール アクション リンク文字列を解析し、リンクが有効な場合はActionCodeURLを返し、それ以外の場合は null を返します。 |
関数(ユーザー, ...) | |
deleteUser(ユーザー) | ユーザーを削除してサインアウトします。 |
getIdToken(ユーザー、forceRefresh) | Firebase サービスに対してユーザーを識別するために使用される JSON Web Token (JWT) を返します。 |
getIdTokenResult(ユーザー、forceRefresh) | Firebase サービスに対してユーザーを識別するために使用される逆シリアル化された JSON Web Token (JWT) を返します。 |
linkWithCredential(ユーザー, 資格情報) | ユーザー アカウントを指定された資格情報にリンクします。 |
linkWithPhoneNumber(ユーザー、電話番号、appVerifier) | ユーザー アカウントを指定された電話番号にリンクします。 |
linkWithPopup(ユーザー、プロバイダー、リゾルバー) | ポップアップ ベースの OAuth フローを使用して、認証されたプロバイダーをユーザー アカウントにリンクします。 |
linkWithRedirect(ユーザー、プロバイダー、リゾルバー) | フルページ リダイレクト フローを使用して、 OAuthProviderをユーザー アカウントにリンクします。 |
マルチファクター(ユーザー) | ユーザーに対応するMultiFactorUser 。 |
reauthenticateWithCredential(ユーザー, 資格情報) | 新しい資格情報を使用してユーザーを再認証します。 |
reauthenticateWithPhoneNumber(ユーザー、電話番号、appVerifier) | 新しい電話資格情報を使用してユーザーを再認証します。 |
reauthenticateWithPopup(ユーザー、プロバイダー、リゾルバー) | ポップアップ ベースの OAuth フローを使用して、指定されたOAuthProviderで現在のユーザーを再認証します。 |
reauthenticateWithRedirect(ユーザー、プロバイダー、リゾルバー) | フルページ リダイレクト フローを使用して、指定されたOAuthProviderで現在のユーザーを再認証します。 |
リロード(ユーザー) | サインインしている場合は、ユーザー アカウント データをリロードします。 |
sendEmailVerification(user, actionCodeSettings) | ユーザーに確認メールを送信します。 |
unlink(ユーザー、プロバイダーID) | ユーザーアカウントからプロバイダーのリンクを解除します。 |
updateEmail(user, newEmail) | ユーザーの電子メール アドレスを更新します。 |
updatePassword(ユーザー, 新しいパスワード) | ユーザーのパスワードを更新します。 |
updatePhoneNumber(ユーザー、資格情報) | ユーザーの電話番号を更新します。 |
updateProfile(ユーザー, { 表示名, 写真 URL: 写真 URL }) | ユーザーのプロフィール データを更新します。 |
verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings) | 新しい電子メール アドレスに確認電子メールを送信します。 |
関数(userCredential, ...) | |
getAdditionalUserInfo(userCredential) | 指定された資格情報のプロバイダー固有のAdditionalUserInfoを抽出します。 |
クラス
インターフェース
インターフェース | 説明 |
---|---|
アクションコード情報 | checkActionCode()からの応答。 |
アクションコード設定 | オプションの Android および iOS バンドル識別子を使用して、必要な続行/状態 URL を定義するインターフェイス。 |
追加のユーザー情報 | フェデレーション ID プロバイダーからの追加のユーザー情報を含む構造。 |
アプリケーション検証者 | ドメインの検証と悪用防止のための検証ツール。 |
認証 | Firebase Auth サービスを表すインターフェース。 |
認証エラー | Auth エラーのインターフェイス。 |
認証エラーマップ | エラー コードとエラー メッセージのマッピング。 |
認証プロバイダー | 認証プロバイダーを表すインターフェイス。AuthCredentialの作成を容易にするために使用されます。 。 |
認証設定 | Authインスタンスの設定を表すインターフェイス。 |
構成 | Auth 構成を表すインターフェイス。 |
確認結果 | 電話番号によるサインイン、リンク、または再認証呼び出しの結果。 |
依存関係 | Authインスタンスの初期化に使用できる依存関係。 |
エミュレータ構成 | Firebase Authentication エミュレータの構成。 |
IdTokenResult | User.getIdTokenResult()で取得したIDトークンの結果を表すインターフェース。 |
多要素アサーション | 2 番目の要素の所有権を主張するための基本クラス。 |
多要素エラー | ユーザーが正常にサインインするために 2 番目の要素を指定する必要がある場合にスローされるエラー。 |
マルチファクター情報 | 第 2 要素エンティティの情報を含む構造体。 |
MultiFactorResolver | ユーザーがサインインするために 2 番目の要素を指定する必要がある場合に、 MultiFactorErrorからの回復を容易にするために使用されるクラス。 |
マルチファクターセッション | ユーザーに 2 番目の要素を登録したり、登録されたユーザーを 2 番目の要素でサインインするのに使用される多要素セッション オブジェクトを定義するインターフェイス。 |
MultiFactorUser | ユーザーに関係する多要素関連のプロパティと操作を定義するインターフェイス。 |
OAuthCredentialオプション | OAuthCredentialを初期化するためのオプションを定義します。 |
解析されたトークン | 解析された ID トークンを表すインターフェイス。 |
パスワードポリシー | パスワードポリシー要件を指定する構造。 |
パスワード検証ステータス | どのパスワード ポリシー要件が満たされたか、違反したか、およびその要件が何であるかを示す構造。 |
持続性 | 考えられる永続化メカニズムのタイプをカバーするインターフェース。 |
PhoneMultiFactorAssertion | 電話機の 2 番目の要素の所有権を主張するためのクラス。 PhoneMultiFactorGenerator.assertion()によって提供されます。 。 |
電話MultiFactorEnrollInfoオプション | 2 番目の要素を登録するために使用されるオプション。 |
電話多要素情報 | 電話番号の第 2 要素のMultiFactorInfoインターフェイスのサブクラス。この 2 番目の要素のfactorId はFactorIdです。 。電話。 |
電話多要素サインイン情報オプション | 2 番目の要素でサインインするために使用されるオプション。 |
電話単一要素情報オプション | 単一要素サインインに使用されるオプション。 |
PopupRedirectResolver | SignInWithPopup()やSignInWithRedirect()などの DOM 固有の操作を処理するために使用されるリゾルバー。 |
ReactNative非同期ストレージ | 提供されたAsyncStorage のインターフェイス。 |
Recaptchaパラメータ | reCAPTCHA パラメータを表すインターフェイス。受け入れられるパラメータのリストについては、[reCAPTCHA ドキュメント](https://developers.google.com/recaptcha/docs/display#render_param) を参照してください。 sitekey を除くすべてのパラメータが受け入れられます。Firebase Auth はプロジェクトごとに reCAPTCHA をプロビジョニングし、レンダリング時にサイト キーを構成します。非表示の reCAPTCHA の場合は、 size キーをinvisible に設定します。 |
TotpMultiFactorAssertion | TOTP の 2 番目の要素の所有権を主張するためのクラス。 TotpMultiFactorGenerator.assertionForEnrollment()およびTotpMultiFactorGenerator.assertionForSignIn()によって提供されます。 。 |
TotpMultiFactorInfo | TOTP の第 2 要素のMultiFactorInfoインターフェイスのサブクラス。この 2 番目の要素のfactorId はFactorIdです。 .TOTP。 |
ユーザー | ユーザーアカウント。 |
ユーザー資格情報 | ユーザーを含む構造体、 OperationType 、およびプロバイダー ID。 |
ユーザー情報 | ユーザー プロフィール情報。Firebase プロジェクトのアプリにのみ表示されます。 |
ユーザーメタデータ | ユーザーのメタデータを表すインターフェイス。 |
変数
変数 | 説明 |
---|---|
アクションコード操作 | 可能な電子メール アクション タイプの列挙。 |
認証エラーコード | SDK によってスローされたエラーとの比較を容易にするための、潜在的なAuth エラー コードのマップ。 |
ブラウザローカル永続性 | 基礎となるストレージにlocalStorage を使用するLOCAL タイプのPersistenceの実装。 |
ブラウザポップアップリダイレクトリゾルバ | ブラウザベースのアプリケーションに適したPopupRedirectResolverの実装。 |
ブラウザセッション永続性 | 基礎となるストレージにsessionStorage を使用したSESSION の永続化の実装。 |
CordovaPopupRedirectResolver | Cordova ベースのアプリケーションに適したPopupRedirectResolverの実装。 |
デバッグエラーマップ | ほとんどのエラー コードの詳細な説明を含む詳細なエラー マップ。 AuthErrorMapでのディスカッションを参照してください |
因子ID | 多要素認証に使用できる要素の列挙。 |
IndexedDBLocalPersistence | 基盤となるストレージにindexedDB を使用するLOCAL タイプの永続性の実装。 |
inMemory永続性 | タイプ「NONE」の永続性の実装。 |
操作タイプ | サポートされている操作タイプの列挙。 |
prodErrorMap | すべての詳細なエラー メッセージが削除された最小限のエラー マップ。 AuthErrorMapでのディスカッションを参照してください |
プロバイダーID | サポートされているプロバイダーの列挙。 |
サインイン方法 | サポートされているサインイン方法の列挙。 |
タイプエイリアス
タイプエイリアス | 説明 |
---|---|
カスタムパラメータ | OAuth カスタム パラメーターのマップ。 |
NextOrObserver | イベント コールバックの型定義。 |
電話情報オプション | 電話番号の所有権を確認するために必要な情報。 |
ユーザープロフィール | AdditionalUserInfoで使用されるユーザー プロファイル。 |
関数(アプリ、...)
getAuth(アプリ)
提供されたFirebaseAppに関連付けられた Auth インスタンスを返します。インスタンスが存在しない場合は、プラットフォーム固有のデフォルトの依存関係を使用して Auth インスタンスを初期化します。
サイン:
export declare function getAuth(app?: FirebaseApp): Auth;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
アプリ | FirebaseApp | Firebase アプリ。 |
戻り値:
初期化認証(app、deps)
依存関係をきめ細かく制御してAuthインスタンスを初期化します。 。
この関数を使用すると、 getAuth()よりもAuthインスタンスをより詳細に制御できます。 。 getAuth
プラットフォーム固有のデフォルトを使用して依存関係を提供します。一般に、 getAuth
認証を初期化する最も簡単な方法であり、ほとんどのユースケースで機能します。どの永続層を使用するかを制御する必要がある場合、またはsignInWithPopup
またはsignInWithRedirect
を使用していない場合にバンドルサイズを最小化する必要がある場合は、 initializeAuth
使用します。 。
たとえば、アプリが匿名アカウントのみを使用し、現在のセッションに対してのみアカウントを保存したい場合は、 Auth
のように認証を初期化します。
const auth = initializeAuth(app, {
persistence: browserSessionPersistence,
popupRedirectResolver: undefined,
});
サイン:
export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
アプリ | FirebaseApp | |
デプス | 依存関係 |
戻り値:
機能(ストレージ、...)
getReactNativePersistence(ストレージ)
react-native
または@react-native-community/async-storage
からインポートされたAsyncStorage
をラップする永続オブジェクトを返します、 initializeAuth()の永続依存関係フィールドで使用できます。 。
サイン:
export declare function getReactNativePersistence(storage: ReactNativeAsyncStorage): Persistence;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ストレージ | ReactNative非同期ストレージ |
戻り値:
関数(認証, ...)
applyActionCode(auth, oobCode)
電子メールまたはその他の帯域外メカニズムによってユーザーに送信された確認コードを適用します。
サイン:
export declare function applyActionCode(auth: Auth, oobCode: string): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
oobコード | 弦 | ユーザーに送信される確認コード。 |
戻り値:
約束<無効>
beforeAuthStateChanged(認証、コールバック、onAbort)
認証状態の変更によって新しいユーザーが設定される前に実行されるブロッキング コールバックを追加します。
サイン:
export declare function beforeAuthStateChanged(auth: Auth, callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
折り返し電話 | (ユーザー:ユーザー| null) => void |約束<無効> | 新しいユーザー値が設定される前にコールバックがトリガーされます。これがスローされると、ユーザーの設定がブロックされます。 |
on中止 | () => 無効 | 後のbeforeAuthStateChanged() コールバックがスローされた場合にコールバックがトリガーされ、副作用を元に戻すことができます。 |
戻り値:
checkActionCode(auth, oobCode)
電子メールまたはその他の帯域外メカニズムによってユーザーに送信された確認コードを確認します。
サイン:
export declare function checkActionCode(auth: Auth, oobCode: string): Promise<ActionCodeInfo>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
oobコード | 弦 | ユーザーに送信される確認コード。 |
戻り値:
Promise< ActionCodeInfo >
コードに関するメタデータ。
confirmPasswordReset(auth, oobCode, newPassword)
確認コードと新しいパスワードを入力して、パスワードのリセット プロセスを完了します。
サイン:
export declare function confirmPasswordReset(auth: Auth, oobCode: string, newPassword: string): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
oobコード | 弦 | ユーザーに送信される確認コード。 |
新しいパスワード | 弦 | 新しいパスワード。 |
戻り値:
約束<無効>
connectAuthEmulator(認証、URL、オプション)
本番環境の Firebase Auth サービスではなく、Firebase Auth エミュレータと通信するようにAuthインスタンスを変更します。
これは、 initializeAuth()の最初の呼び出しの直後に同期的に呼び出す必要があります。 。エミュレータのトラフィックは暗号化されないため、運用環境の認証情報では使用しないでください。
サイン:
export declare function connectAuthEmulator(auth: Auth, url: string, options?: {
disableWarnings: boolean;
}): void;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
URL | 弦 | エミュレータが実行されている URL (例: 「http://localhost:9099」)。 |
オプション | {無効化警告: ブール値; } | オプション。 options.disableWarnings のデフォルトはfalse です。 DOM に添付された警告バナーを無効にするには、これをtrue に設定します。 |
戻り値:
空所
例
connectAuthEmulator(auth, 'http://127.0.0.1:9099', { disableWarnings: true });
createUserWithEmailAndPassword(認証、電子メール、パスワード)
指定された電子メール アドレスとパスワードに関連付けられた新しいユーザー アカウントを作成します。
ユーザー アカウントが正常に作成されると、このユーザーもアプリケーションにサインインします。
アカウントがすでに存在する場合、またはパスワードが無効な場合、ユーザー アカウントの作成は失敗することがあります。
サイン:
export declare function createUserWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
Eメール | 弦 | ユーザーの電子メール アドレス。 |
パスワード | 弦 | ユーザーが選択したパスワード。 |
戻り値:
Promise< UserCredential >
fetchSignInMethodsForEmail(認証, 電子メール)
指定された電子メール アドレスで使用できるサインイン方法のリストを取得します。このメソッドは、[電子メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) が有効になっている場合、メールで使用できる認証方法の数に関係なく、空のリストを返します。与えられたメール。
これは、同じプロバイダーのサインイン方法を区別するのに役立ちます。 SignInMethod という2 つのサインイン方法を持つEmailAuthProvider .EMAIL_PASSWORD とSignInMethod .EMAIL_LINK。
サイン:
export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
Eメール | 弦 | ユーザーの電子メール アドレス。廃止されました。セキュリティのベスト プラクティスとして、この方法から移行することをお勧めします。詳細については、[電子メール列挙保護] に関する Identity Platform のドキュメント (https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) をご覧ください。 |
戻り値:
約束<文字列[]>
getMultiFactorResolver(認証、エラー)
多要素フローの完了に適したMultiFactorResolverを提供します。
サイン:
export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
エラー | 多要素エラー | サインインまたは再認証操作中に発生したMultiFactorError 。 |
戻り値:
getRedirectResult(認証、リゾルバー)
リダイレクトベースのサインイン フローからUserCredentialを返します。
サインインが成功した場合は、サインインしたユーザーを返します。サインインが失敗した場合は、エラーで失敗します。リダイレクト操作が呼び出されなかった場合は、 null
を返します。 。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
リゾルバ | PopupRedirectResolver | PopupRedirectResolverのインスタンス、すでにinitializeAuth()に提供されている場合、またはgetAuth()によって提供されている場合はオプションです。 。 |
戻り値:
Promise< UserCredential | null>
例
// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
// This is the signed-in user
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;
初期化RecaptchaConfig(認証)
reCAPTCHA 設定をAuth
インスタンスにロードします。
これにより、各認証プロバイダーに対して reCAPTCHA 検証フローをトリガーする必要があるかどうかを示す reCAPTCHA 構成が現在の認証セッションにロードされます。
InitializeRecaptchaConfig() が呼び出されない場合、認証フローは常に reCAPTCHA 検証なしで開始されます。プロバイダーが reCAPTCHA 検証を必要とするように構成されている場合、SDK は透過的に reCAPTCHA 構成をロードし、認証フローを再開します。
したがって、このオプションのメソッドを呼び出すことで、今後の認証フローの待ち時間が短縮されます。 reCAPTCHA 構成を早めにロードすると、reCAPTCHA によって収集される信号も強化されます。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
戻り値:
約束<無効>
例
initializeRecaptchaConfig(auth);
isSignInWithEmailLink(auth, emailLink)
受信リンクが、 signInWithEmailLink()に適した電子メールによるサインイン リンクであるかどうかを確認します。 。
サイン:
export declare function isSignInWithEmailLink(auth: Auth, emailLink: string): boolean;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
メールリンク | 弦 | ユーザーの電子メール アドレスに送信されるリンク。 |
戻り値:
ブール値
onAuthStateChanged(認証、nextOrObserver、エラー、完了)
ユーザーのサインイン状態の変更に対するオブザーバーを追加します。
古い動作を維持するには、 onIdTokenChanged()を参照してください。 。
サイン:
export declare function onAuthStateChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
次またはオブザーバー | NextOrObserver <ユーザー> | 変更時にコールバックがトリガーされます。 |
エラー | エラーFn | 廃止されました。このコールバックは決してトリガーされません。サインイン/サインアウト時のエラーは、サインイン/サインアウト関数から返される Promise で検出される可能性があります。 |
完成した | コンプリートFn | 廃止されました。このコールバックは決してトリガーされません。 |
戻り値:
onIdTokenChanged(認証、nextOrObserver、エラー、完了)
サインインしているユーザーの ID トークンへの変更を監視するオブザーバーを追加します。
これには、サインイン、サインアウト、トークン更新イベントが含まれます。これは、ID トークンの有効期限が切れても自動的にはトリガーされません。 User.getIdToken()を使用して ID トークンを更新します。
サイン:
export declare function onIdTokenChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
次またはオブザーバー | NextOrObserver <ユーザー> | 変更時にコールバックがトリガーされます。 |
エラー | エラーFn | 廃止されました。このコールバックは決してトリガーされません。サインイン/サインアウト時のエラーは、サインイン/サインアウト関数から返される Promise で検出される可能性があります。 |
完成した | コンプリートFn | 廃止されました。このコールバックは決してトリガーされません。 |
戻り値:
revokeAccessToken(認証, トークン)
指定されたアクセス トークンを取り消します。現在、Apple OAuth アクセス トークンのみをサポートしています。
サイン:
export declare function revokeAccessToken(auth: Auth, token: string): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
トークン | 弦 | Apple OAuth アクセス トークン。 |
戻り値:
約束<無効>
sendPasswordResetEmail(認証、電子メール、actionCodeSettings)
指定された電子メール アドレスにパスワード リセット電子メールを送信します。指定されたメール アドレスを持つユーザー アカウントがなく、[メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) が有効になっている場合、このメソッドはエラーをスローしません。 。
パスワードのリセットを完了するには、ユーザーに送信された電子メールに含まれているコードと、ユーザーが指定した新しいパスワードを使用して、 confirmPasswordReset()を呼び出します。
サイン:
export declare function sendPasswordResetEmail(auth: Auth, email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
Eメール | 弦 | ユーザーの電子メール アドレス。 |
アクションコード設定 | アクションコード設定 | ActionCodeSettings 。 |
戻り値:
約束<無効>
例
const actionCodeSettings = {
url: 'https://www.example.com/?email=user@example.com',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true
};
await sendPasswordResetEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain code from user.
await confirmPasswordReset('user@example.com', code);
sendSignInLinkToEmail(認証、電子メール、actionCodeSettings)
指定された電子メールを使用して、サインイン電子メール リンクをユーザーに送信します。
他の帯域外電子メール アクション (パスワード リセットや電子メール検証) とは異なり、サインイン操作は常にアプリ内で完了する必要があります。これは、フローの最後にユーザーがサインインし、その認証状態がアプリ内に保持されることが期待されるためです。
電子メール リンクを使用してサインインを完了するには、ユーザーに送信された電子メールに含まれている電子メール アドレスと電子メール リンクを使用して、 signInWithEmailLink()を呼び出します。
サイン:
export declare function sendSignInLinkToEmail(auth: Auth, email: string, actionCodeSettings: ActionCodeSettings): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | |
Eメール | 弦 | ユーザーの電子メール アドレス。 |
アクションコード設定 | アクションコード設定 | ActionCodeSettings 。 |
戻り値:
約束<無効>
例
const actionCodeSettings = {
url: 'https://www.example.com/?email=user@example.com',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
await signInWithEmailLink(auth, 'user@example.com', emailLink);
}
setPersistence(認証, 永続性)
現在保存されているAuth
セッションの認証インスタンスの永続性のタイプを変更し、リダイレクト要求によるサインインを含む今後のサインイン要求にこのタイプの永続性を適用します。
これにより、サインインしているユーザーは、自分のセッションを記憶するかどうかを簡単に指定できます。また、他のユーザーが共有しているアプリケーションや機密データを含むアプリケーションのAuth
状態を永続化しないことも簡単になります。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function setPersistence(auth: Auth, persistence: Persistence): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
持続性 | 持続性 | 使用する永続性。 |
戻り値:
約束<無効>
永続化の変更が完了すると解決されるPromise
例
setPersistence(auth, browserSessionPersistence);
匿名でサインイン(認証)
匿名ユーザーとして非同期にサインインします。
すでに匿名ユーザーがサインインしている場合は、そのユーザーが返されます。それ以外の場合は、新しい匿名ユーザー ID が作成されて返されます。
サイン:
export declare function signInAnonymously(auth: Auth): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
戻り値:
Promise< UserCredential >
SignInWithCredential(認証, 資格情報)
指定された資格情報を使用して非同期的にサインインします。
AuthProvider を使用して資格情報を生成できます。
サイン:
export declare function signInWithCredential(auth: Auth, credential: AuthCredential): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
資格情報 | 認証資格情報 | 認証資格情報。 |
戻り値:
Promise< UserCredential >
SignInWithCustomToken(auth, カスタムトークン)
カスタム トークンを使用して非同期にサインインします。
カスタム トークンは、Firebase Auth を既存の認証システムと統合するために使用され、 Admin SDKのcreateCustomTokenメソッドを使用して認証バックエンドによって生成される必要があります。
トークンが無効であるか、期限切れであるか、Firebase Auth サービスによって受け入れられない場合、エラーが発生して失敗します。
サイン:
export declare function signInWithCustomToken(auth: Auth, customToken: string): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
カスタムトークン | 弦 | サインインに使用するカスタム トークン。 |
戻り値:
Promise< UserCredential >
SignInWithEmailAndPassword(認証、電子メール、パスワード)
電子メールとパスワードを使用して非同期にサインインします。
メールアドレスとパスワードが一致しない場合はエラーで失敗します。 [電子メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) が有効になっている場合、無効な場合、このメソッドは「auth/invalid-credential」で失敗します。メールのパスワード。
サイン:
export declare function signInWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
Eメール | 弦 | ユーザーの電子メール アドレス。 |
パスワード | 弦 | ユーザーのパスワード。 |
戻り値:
Promise< UserCredential >
SignInWithEmailLink(認証、電子メール、電子メールリンク)
電子メールとサインイン電子メール リンクを使用して非同期的にサインインします。
リンクが渡されない場合、リンクは現在の URL から推測されます。
電子メール アドレスが無効であるか、電子メール リンクの OTP の有効期限が切れている場合、エラーが発生して失敗します。
サイン:
export declare function signInWithEmailLink(auth: Auth, email: string, emailLink?: string): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
Eメール | 弦 | ユーザーの電子メール アドレス。 |
メールリンク | 弦 | ユーザーの電子メール アドレスに送信されるリンク。 |
戻り値:
Promise< UserCredential >
例
const actionCodeSettings = {
url: 'https://www.example.com/?email=user@example.com',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
await signInWithEmailLink(auth, 'user@example.com', emailLink);
}
SignInWithPhoneNumber(認証、電話番号、appVerifier)
電話番号を使用して非同期にサインインします。
このメソッドは、指定された電話番号に SMS 経由でコードを送信し、 confirmResultを返します。 。ユーザーが自分の電話に送信されたコードを指定した後、そのコードを使用してconfirmationResult.confirm()を呼び出して、ユーザーをサインインさせます。
悪用防止のため、このメソッドにはApplicationVerifierも必要です。この SDK には、reCAPTCHA ベースの実装であるRecaptchaVerifier が含まれています。この関数は、 RecaptchaVerifierをサポートしていない他のプラットフォーム (React Native など) でも動作しますが、サードパーティのApplicationVerifier実装を使用する必要があります。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
電話番号 | 弦 | E.164 形式のユーザーの電話番号 (例: +16505550101)。 |
アプリ検証者 | アプリケーション検証者 | ApplicationVerifier 。 |
戻り値:
約束<確認結果>
例
// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain a verificationCode from the user.
const credential = await confirmationResult.confirm(verificationCode);
SignInWithPopup(認証、プロバイダー、リゾルバー)
ポップアップベースの OAuth 認証フローを使用して Firebase クライアントを認証します。
成功すると、サインインしたユーザーとプロバイダーの資格情報が返されます。サインインが失敗した場合は、エラーに関する追加情報を含むエラー オブジェクトを返します。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
プロバイダー | 認証プロバイダー | 認証するプロバイダー。プロバイダーはOAuthProviderである必要があります。 EmailAuthProviderなどの非 OAuth プロバイダーはエラーをスローします。 |
リゾルバ | PopupRedirectResolver | PopupRedirectResolverのインスタンス、すでにinitializeAuth()に提供されている場合、またはgetAuth()によって提供されている場合はオプションです。 。 |
戻り値:
Promise< UserCredential >
例
// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);
// The signed-in user info.
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;
SignInWithRedirect(認証、プロバイダー、リゾルバー)
フルページ リダイレクト フローを使用して Firebase クライアントを認証します。
この操作の結果とエラーを処理するには、 getRedirectResult()を参照してください。 。 SignInWithRedirect()を使用する場合はベスト プラクティスに従ってください。 。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
プロバイダー | 認証プロバイダー | 認証するプロバイダー。プロバイダーはOAuthProviderである必要があります。 EmailAuthProviderなどの非 OAuth プロバイダーはエラーをスローします。 |
リゾルバ | PopupRedirectResolver | PopupRedirectResolverのインスタンス、すでにinitializeAuth()に指定されている場合、またはgetAuth()によって指定されている場合はオプションです。 。 |
戻り値:
約束<決して>しない
例
// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
// This is the signed-in user
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;
サインアウト(認証)
現在のユーザーをサインアウトします。
サイン:
export declare function signOut(auth: Auth): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
戻り値:
約束<無効>
updateCurrentUser(認証, ユーザー)
提供されたユーザーをAuthインスタンスのAuth.currentUserとして非同期的に設定します。
指定されたユーザーの新しいインスタンスのコピーが作成され、currentUser として設定されます。
これにより、他のサインイン メソッドと同様に、 onAuthStateChanged()リスナーとonIdTokenChanged()リスナーがトリガーされます。
更新するユーザーが別の Firebase プロジェクトに属している場合、操作はエラーで失敗します。
サイン:
export declare function updateCurrentUser(auth: Auth, user: User | null): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
ユーザー | ユーザー|ヌル | 新しいユーザー。 |
戻り値:
約束<無効>
useDeviceLanguage(認証)
現在の言語をデフォルトのデバイス/ブラウザ設定に設定します。
サイン:
export declare function useDeviceLanguage(auth: Auth): void;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
戻り値:
空所
validatePassword(認証, パスワード)
プロジェクトまたはテナントに構成されたパスワード ポリシーに照らしてパスワードを検証します。
Auth
インスタンスにテナント ID が設定されていない場合、このメソッドはプロジェクトに構成されたパスワード ポリシーを使用します。それ以外の場合、この方法ではテナントに構成されたポリシーが使用されます。パスワード ポリシーが設定されていない場合は、すべてのプロジェクトに設定されているデフォルト ポリシーが使用されます。
送信されたパスワードがパスワード ポリシー要件を満たしておらず、このメソッドが以前に呼び出されたことが原因で認証フローが失敗した場合、このメソッドは再度呼び出されたときに利用可能な最新のポリシーを使用します。
サイン:
export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
パスワード | 弦 | 検証するパスワード。 |
戻り値:
Promise< PasswordValidationStatus >
例
validatePassword(auth, 'some-password');
verifyPasswordResetCode(認証, コード)
電子メールまたはその他の帯域外メカニズムによってユーザーに送信されたパスワード リセット コードを確認します。
サイン:
export declare function verifyPasswordResetCode(auth: Auth, code: string): Promise<string>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
認証 | 認証 | 認証インスタンス。 |
コード | 弦 | ユーザーに送信される確認コード。 |
戻り値:
約束<文字列>
ユーザーの電子メール アドレス (有効な場合)。
関数(リンク, ...)
parseActionCodeURL(リンク)
電子メール アクション リンク文字列を解析し、リンクが有効な場合はActionCodeURLを返し、それ以外の場合は null を返します。
サイン:
export declare function parseActionCodeURL(link: string): ActionCodeURL | null;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
リンク | 弦 |
戻り値:
アクションコードURL |ヌル
関数(ユーザー, ...)
deleteUser(ユーザー)
ユーザーを削除してサインアウトします。
サイン:
export declare function deleteUser(user: User): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
戻り値:
約束<無効>
getIdToken(ユーザー、forceRefresh)
Firebase サービスに対してユーザーを識別するために使用される JSON Web Token (JWT) を返します。
現在のトークンの有効期限が切れていない場合、または今後 5 分以内に期限切れにならない場合は、現在のトークンを返します。それ以外の場合は、トークンが更新され、新しいトークンが返されます。
サイン:
export declare function getIdToken(user: User, forceRefresh?: boolean): Promise<string>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
強制リフレッシュ | ブール値 | トークンの有効期限に関係なく強制的にリフレッシュします。 |
戻り値:
約束<文字列>
getIdTokenResult(ユーザー、forceRefresh)
Firebase サービスに対してユーザーを識別するために使用される逆シリアル化された JSON Web Token (JWT) を返します。
現在のトークンの有効期限が切れていない場合、または今後 5 分以内に期限切れにならない場合は、現在のトークンを返します。それ以外の場合は、トークンが更新され、新しいトークンが返されます。
サイン:
export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Promise<IdTokenResult>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
強制リフレッシュ | ブール値 | トークンの有効期限に関係なく強制的にリフレッシュします。 |
戻り値:
Promise< IdTokenResult >
linkWithCredential(ユーザー, 資格情報)
ユーザー アカウントを指定された資格情報にリンクします。
AuthProvider を使用して資格情報を生成できます。
サイン:
export declare function linkWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
資格情報 | 認証資格情報 | 認証資格情報。 |
戻り値:
Promise< UserCredential >
linkWithPhoneNumber(ユーザー、電話番号、appVerifier)
ユーザー アカウントを指定された電話番号にリンクします。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function linkWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
電話番号 | 弦 | E.164 形式のユーザーの電話番号 (例: +16505550101)。 |
アプリ検証者 | アプリケーション検証者 | ApplicationVerifier 。 |
戻り値:
約束<確認結果>
linkWithPopup(ユーザー、プロバイダー、リゾルバー)
ポップアップ ベースの OAuth フローを使用して、認証されたプロバイダーをユーザー アカウントにリンクします。
リンクが成功すると、返される結果にはユーザーとプロバイダーの資格情報が含まれます。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function linkWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
プロバイダー | 認証プロバイダー | 認証するプロバイダー。プロバイダーはOAuthProviderである必要があります。 EmailAuthProviderなどの非 OAuth プロバイダーはエラーをスローします。 |
リゾルバ | PopupRedirectResolver | PopupRedirectResolverのインスタンス、すでにinitializeAuth()に提供されている場合、またはgetAuth()によって提供されている場合はオプションです。 。 |
戻り値:
Promise< UserCredential >
例
// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a popup.
const provider = new FacebookAuthProvider();
await linkWithPopup(result.user, provider);
linkWithRedirect(ユーザー、プロバイダー、リゾルバー)
フルページ リダイレクト フローを使用して、 OAuthProviderをユーザー アカウントにリンクします。
この操作の結果とエラーを処理するには、 getRedirectResult()を参照してください。 。 linkWithRedirect()を使用するときはベスト プラクティスに従ってください。 。
このメソッドは Node.js 環境では機能しません。
サイン:
export declare function linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
プロバイダー | 認証プロバイダー | 認証するプロバイダー。プロバイダーはOAuthProviderである必要があります。 EmailAuthProviderなどの非 OAuth プロバイダーはエラーをスローします。 |
リゾルバ | PopupRedirectResolver | PopupRedirectResolverのインスタンス、すでにinitializeAuth()に指定されている場合、またはgetAuth()によって指定されている場合はオプションです。 。 |
戻り値:
約束<ネバー>
例
// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a redirect.
const provider = new FacebookAuthProvider();
await linkWithRedirect(result.user, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
マルチファクター(ユーザー)
ユーザーに対応するマルチファクトルザー。
これは、ユーザーに関連するすべての多要素プロパティと操作にアクセスするために使用されます。
サイン:
export declare function multiFactor(user: User): MultiFactorUser;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
戻り値:
ReuthenticateWithcreDential(ユーザー、資格情報)
新鮮な資格情報を使用してユーザーを再認証します。
最近のサインイン試行からのトークンが必要なupdatePassword()などの操作の前に使用します。この方法は、 CREDENTIAL_TOO_OLD_LOGIN_AGAIN
エラーまたはTOKEN_EXPIRED
エラーから回復するために使用できます。
サイン:
export declare function reauthenticateWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
資格情報 | AuthRedential | 認証資格情報。 |
戻り値:
約束< usercredential >
reauthenticate withphoneNumber(ユーザー、電話、鑑定剤)
新鮮な電話資格情報を使用してユーザーを再認証します。
最近のサインイン試行からのトークンが必要なupdatePassword()などの操作の前に使用します。
この方法は、node.js環境では機能しません。
サイン:
export declare function reauthenticateWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
電話番号 | 弦 | E.164形式のユーザーの電話番号(例えば+16505550101)。 |
Appverifier | ApplicationVerifier | ApplicationVerifier 。 |
戻り値:
約束< commidationresult >
ReuthenticateWithPopup(ユーザー、プロバイダー、リゾルバー)
ポップアップベースのOAuthフローを使用して、指定されたOAuthProviderで現在のユーザーを再認定します。
再認証が成功した場合、返された結果にはユーザーとプロバイダーの資格情報が含まれます。
この方法は、node.js環境では機能しません。
サイン:
export declare function reauthenticateWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
プロバイダー | AuthProvider | 認証するプロバイダー。プロバイダーはOAuthProviderでなければなりません。 EmailAuthProviderのような非OAuthプロバイダーはエラーをスローします。 |
リゾルバ | popupredirectresolver | PopupredirectResolverのインスタンス、オプションinitializeauth()に既に供給されている場合、またはgetauth()によって提供されている場合。 |
戻り値:
約束< usercredential >
例
// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);
// Reauthenticate using a popup.
await reauthenticateWithPopup(result.user, provider);
ReuthenticateWithredirect(ユーザー、プロバイダー、リゾルバー)
フルページのリダイレクトフローを使用して、指定されたOAuthProviderで現在のユーザーを再認定します。
この操作の結果とエラーを処理するには、 getRedirectResult()を参照してください。 ReuthenticateWithRedirect()を使用するときは、ベストプラクティスに従ってください。
この方法は、node.js環境では機能しません。
サイン:
export declare function reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
プロバイダー | AuthProvider | 認証するプロバイダー。プロバイダーはOAuthProviderでなければなりません。 EmailAuthProviderのような非OAuthプロバイダーはエラーをスローします。 |
リゾルバ | popupredirectresolver | PopupredirectResolverのインスタンス、オプションinitializeauth()に既に供給されている場合、またはgetauth()によって提供されている場合。 |
戻り値:
約束<ネバー>
例
// Sign in using a redirect.
const provider = new FacebookAuthProvider();
const result = await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
// Reauthenticate using a redirect.
await reauthenticateWithRedirect(result.user, provider);
// This will again trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
リロード(ユーザー)
サインインした場合、ユーザーアカウントデータをリロードします。
サイン:
export declare function reload(user: User): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
戻り値:
約束<void>
sendemailverification(user、actioncodesettings)
検証メールをユーザーに送信します。
検証プロセスは、 applyactionCode()を呼び出すことにより完了します。
サイン:
export declare function sendEmailVerification(user: User, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
ActionCodesettings | ActionCodesettings |ヌル | ActionCodesettings 。 |
戻り値:
約束<void>
例
const actionCodeSettings = {
url: 'https://www.example.com/?email=user@example.com',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true
};
await sendEmailVerification(user, actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);
Unlink(ユーザー、ProviderID)
ユーザーアカウントからプロバイダーをリンクします。
サイン:
export declare function unlink(user: User, providerId: string): Promise<User>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
ProviderId | 弦 | リンクするプロバイダー。 |
戻り値:
約束<ユーザー>
updateEmail(ユーザー、newEmail)
ユーザーのメールアドレスを更新します。
アカウントのハイジャックから保護するために、メールアドレスの変更を取り消すことができる元のメールアドレス(設定されている場合)にメールが送信されます。
サイン:
export declare function updateEmail(user: User, newEmail: string): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
新しいメール | 弦 | 新しいメールアドレス。 [auth/operation-olowed]エラーは、[enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)が有効になったときにスローします。 DepRECATED -BERIFYFOREUPDATEEMAIL()を代わりに使用します。 |
戻り値:
約束<void>
updatePassWord(ユーザー、newPassword)
ユーザーのパスワードを更新します。
サイン:
export declare function updatePassword(user: User, newPassword: string): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
新しいパスワード | 弦 | 新しいパスワード。 |
戻り値:
約束<void>
UpdatePhoneNumber(ユーザー、資格情報)
ユーザーの電話番号を更新します。
この方法は、node.js環境では機能しません。
サイン:
export declare function updatePhoneNumber(user: User, credential: PhoneAuthCredential): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
資格情報 | フォンアースクレデンシャル | 新しい電話番号を認証する資格情報。 |
戻り値:
約束<void>
例
// '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);
await updatePhoneNumber(user, phoneCredential);
updateProfile(user、{displayname、photourl:photourl})
ユーザーのプロフィールデータを更新します。
サイン:
export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
displayName?: string | null;
photoURL?: string | null;
}): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
{displayname、photourl:photourl} | {displayname?:string |ヌル; Photourl?:string |ヌル; } |
戻り値:
約束<void>
foreforepdateemail(user、newemail、actioncodesettings)を確認する
新しいメールアドレスに確認メールを送信します。
ユーザーのメールは、検証された後に新しいメールに更新されます。
カスタムメールアクションハンドラーがある場合は、 ApplyActionCode()を呼び出すことで確認プロセスを完了できます。 。
サイン:
export declare function verifyBeforeUpdateEmail(user: User, newEmail: string, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
ユーザー | ユーザー | ユーザー。 |
新しいメール | 弦 | 更新前に検証される新しいメールアドレス。 |
ActionCodesettings | ActionCodesettings |ヌル | ActionCodesettings 。 |
戻り値:
約束<void>
例
const actionCodeSettings = {
url: 'https://www.example.com/?email=user@example.com',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true
};
await verifyBeforeUpdateEmail(user, 'newemail@example.com', actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);
function(usercredential、...)
getadtionaluserinfo(usercredential)
指定された資格情報のために、プロバイダー固有の追加のaddationUserInfoを抽出します。
サイン:
export declare function getAdditionalUserInfo(userCredential: UserCredential): AdditionalUserInfo | null;
パラメーター
パラメータ | タイプ | 説明 |
---|---|---|
userredential | userredential | ユーザー資格情報。 |
戻り値:
ActionCodeoperation
可能な電子メールアクションタイプの列挙。
サイン:
ActionCodeOperation: {
readonly EMAIL_SIGNIN: "EMAIL_SIGNIN";
readonly PASSWORD_RESET: "PASSWORD_RESET";
readonly RECOVER_EMAIL: "RECOVER_EMAIL";
readonly REVERT_SECOND_FACTOR_ADDITION: "REVERT_SECOND_FACTOR_ADDITION";
readonly VERIFY_AND_CHANGE_EMAIL: "VERIFY_AND_CHANGE_EMAIL";
readonly VERIFY_EMAIL: "VERIFY_EMAIL";
}
オートヒアコード
潜在的なAuth
エラーコードのマップ。SDKによってスローされたエラーとの比較を容易にします。
マップ内で個々のキーを見渡すことができないため、マップを使用することでバンドルサイズを大幅に増やす可能性があることに注意してください。
サイン:
AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY: {
readonly ADMIN_ONLY_OPERATION: "auth/admin-restricted-operation";
readonly ARGUMENT_ERROR: "auth/argument-error";
readonly APP_NOT_AUTHORIZED: "auth/app-not-authorized";
readonly APP_NOT_INSTALLED: "auth/app-not-installed";
readonly CAPTCHA_CHECK_FAILED: "auth/captcha-check-failed";
readonly CODE_EXPIRED: "auth/code-expired";
readonly CORDOVA_NOT_READY: "auth/cordova-not-ready";
readonly CORS_UNSUPPORTED: "auth/cors-unsupported";
readonly CREDENTIAL_ALREADY_IN_USE: "auth/credential-already-in-use";
readonly CREDENTIAL_MISMATCH: "auth/custom-token-mismatch";
readonly CREDENTIAL_TOO_OLD_LOGIN_AGAIN: "auth/requires-recent-login";
readonly DEPENDENT_SDK_INIT_BEFORE_AUTH: "auth/dependent-sdk-initialized-before-auth";
readonly DYNAMIC_LINK_NOT_ACTIVATED: "auth/dynamic-link-not-activated";
readonly EMAIL_CHANGE_NEEDS_VERIFICATION: "auth/email-change-needs-verification";
readonly EMAIL_EXISTS: "auth/email-already-in-use";
readonly EMULATOR_CONFIG_FAILED: "auth/emulator-config-failed";
readonly EXPIRED_OOB_CODE: "auth/expired-action-code";
readonly EXPIRED_POPUP_REQUEST: "auth/cancelled-popup-request";
readonly INTERNAL_ERROR: "auth/internal-error";
readonly INVALID_API_KEY: "auth/invalid-api-key";
readonly INVALID_APP_CREDENTIAL: "auth/invalid-app-credential";
readonly INVALID_APP_ID: "auth/invalid-app-id";
readonly INVALID_AUTH: "auth/invalid-user-token";
readonly INVALID_AUTH_EVENT: "auth/invalid-auth-event";
readonly INVALID_CERT_HASH: "auth/invalid-cert-hash";
readonly INVALID_CODE: "auth/invalid-verification-code";
readonly INVALID_CONTINUE_URI: "auth/invalid-continue-uri";
readonly INVALID_CORDOVA_CONFIGURATION: "auth/invalid-cordova-configuration";
readonly INVALID_CUSTOM_TOKEN: "auth/invalid-custom-token";
readonly INVALID_DYNAMIC_LINK_DOMAIN: "auth/invalid-dynamic-link-domain";
readonly INVALID_EMAIL: "auth/invalid-email";
readonly INVALID_EMULATOR_SCHEME: "auth/invalid-emulator-scheme";
readonly INVALID_IDP_RESPONSE: "auth/invalid-credential";
readonly INVALID_LOGIN_CREDENTIALS: "auth/invalid-credential";
readonly INVALID_MESSAGE_PAYLOAD: "auth/invalid-message-payload";
readonly INVALID_MFA_SESSION: "auth/invalid-multi-factor-session";
readonly INVALID_OAUTH_CLIENT_ID: "auth/invalid-oauth-client-id";
readonly INVALID_OAUTH_PROVIDER: "auth/invalid-oauth-provider";
readonly INVALID_OOB_CODE: "auth/invalid-action-code";
readonly INVALID_ORIGIN: "auth/unauthorized-domain";
readonly INVALID_PASSWORD: "auth/wrong-password";
readonly INVALID_PERSISTENCE: "auth/invalid-persistence-type";
readonly INVALID_PHONE_NUMBER: "auth/invalid-phone-number";
readonly INVALID_PROVIDER_ID: "auth/invalid-provider-id";
readonly INVALID_RECIPIENT_EMAIL: "auth/invalid-recipient-email";
readonly INVALID_SENDER: "auth/invalid-sender";
readonly INVALID_SESSION_INFO: "auth/invalid-verification-id";
readonly INVALID_TENANT_ID: "auth/invalid-tenant-id";
readonly MFA_INFO_NOT_FOUND: "auth/multi-factor-info-not-found";
readonly MFA_REQUIRED: "auth/multi-factor-auth-required";
readonly MISSING_ANDROID_PACKAGE_NAME: "auth/missing-android-pkg-name";
readonly MISSING_APP_CREDENTIAL: "auth/missing-app-credential";
readonly MISSING_AUTH_DOMAIN: "auth/auth-domain-config-required";
readonly MISSING_CODE: "auth/missing-verification-code";
readonly MISSING_CONTINUE_URI: "auth/missing-continue-uri";
readonly MISSING_IFRAME_START: "auth/missing-iframe-start";
readonly MISSING_IOS_BUNDLE_ID: "auth/missing-ios-bundle-id";
readonly MISSING_OR_INVALID_NONCE: "auth/missing-or-invalid-nonce";
readonly MISSING_MFA_INFO: "auth/missing-multi-factor-info";
readonly MISSING_MFA_SESSION: "auth/missing-multi-factor-session";
readonly MISSING_PHONE_NUMBER: "auth/missing-phone-number";
readonly MISSING_SESSION_INFO: "auth/missing-verification-id";
readonly MODULE_DESTROYED: "auth/app-deleted";
readonly NEED_CONFIRMATION: "auth/account-exists-with-different-credential";
readonly NETWORK_REQUEST_FAILED: "auth/network-request-failed";
readonly NULL_USER: "auth/null-user";
readonly NO_AUTH_EVENT: "auth/no-auth-event";
readonly NO_SUCH_PROVIDER: "auth/no-such-provider";
readonly OPERATION_NOT_ALLOWED: "auth/operation-not-allowed";
readonly OPERATION_NOT_SUPPORTED: "auth/operation-not-supported-in-this-environment";
readonly POPUP_BLOCKED: "auth/popup-blocked";
readonly POPUP_CLOSED_BY_USER: "auth/popup-closed-by-user";
readonly PROVIDER_ALREADY_LINKED: "auth/provider-already-linked";
readonly QUOTA_EXCEEDED: "auth/quota-exceeded";
readonly REDIRECT_CANCELLED_BY_USER: "auth/redirect-cancelled-by-user";
readonly REDIRECT_OPERATION_PENDING: "auth/redirect-operation-pending";
readonly REJECTED_CREDENTIAL: "auth/rejected-credential";
readonly SECOND_FACTOR_ALREADY_ENROLLED: "auth/second-factor-already-in-use";
readonly SECOND_FACTOR_LIMIT_EXCEEDED: "auth/maximum-second-factor-count-exceeded";
readonly TENANT_ID_MISMATCH: "auth/tenant-id-mismatch";
readonly TIMEOUT: "auth/timeout";
readonly TOKEN_EXPIRED: "auth/user-token-expired";
readonly TOO_MANY_ATTEMPTS_TRY_LATER: "auth/too-many-requests";
readonly UNAUTHORIZED_DOMAIN: "auth/unauthorized-continue-uri";
readonly UNSUPPORTED_FIRST_FACTOR: "auth/unsupported-first-factor";
readonly UNSUPPORTED_PERSISTENCE: "auth/unsupported-persistence-type";
readonly UNSUPPORTED_TENANT_OPERATION: "auth/unsupported-tenant-operation";
readonly UNVERIFIED_EMAIL: "auth/unverified-email";
readonly USER_CANCELLED: "auth/user-cancelled";
readonly USER_DELETED: "auth/user-not-found";
readonly USER_DISABLED: "auth/user-disabled";
readonly USER_MISMATCH: "auth/user-mismatch";
readonly USER_SIGNED_OUT: "auth/user-signed-out";
readonly WEAK_PASSWORD: "auth/weak-password";
readonly WEB_STORAGE_UNSUPPORTED: "auth/web-storage-unsupported";
readonly ALREADY_INITIALIZED: "auth/already-initialized";
readonly RECAPTCHA_NOT_ENABLED: "auth/recaptcha-not-enabled";
readonly MISSING_RECAPTCHA_TOKEN: "auth/missing-recaptcha-token";
readonly INVALID_RECAPTCHA_TOKEN: "auth/invalid-recaptcha-token";
readonly INVALID_RECAPTCHA_ACTION: "auth/invalid-recaptcha-action";
readonly MISSING_CLIENT_TYPE: "auth/missing-client-type";
readonly MISSING_RECAPTCHA_VERSION: "auth/missing-recaptcha-version";
readonly INVALID_RECAPTCHA_VERSION: "auth/invalid-recaptcha-version";
readonly INVALID_REQ_TYPE: "auth/invalid-req-type";
}
browserlocalpersistence
基礎となるストレージにlocalStorage
を使用したLOCAL
の型の永続性の実装。
サイン:
browserLocalPersistence: Persistence
BROWSERPOPUPREDIRECTRESOLVER
ブラウザベースのアプリケーションに適したPopupRedirectResolverの実装。
この方法は、node.js環境では機能しません。
サイン:
browserPopupRedirectResolver: PopupRedirectResolver
browsersessionpersistence
基礎となるストレージのためにsessionStorage
を使用したSESSION
の永続性の実装。
サイン:
browserSessionPersistence: Persistence
cordovapopupRedirectResolver
Cordovaベースのアプリケーションに適したPopupredirectResolverの実装。
サイン:
cordovaPopupRedirectResolver: PopupRedirectResolver
Debugerrormap
ほとんどのエラーコードの詳細な説明を備えた冗長エラーマップ。
AutherRormapでのディスカッションを参照してください
サイン:
debugErrorMap: AuthErrorMap
FACTORID
マルチファクター認証に使用できる要因の列挙。
サイン:
FactorId: {
readonly PHONE: "phone";
readonly TOTP: "totp";
}
indexedDblocalPerSistence
基礎となるストレージにindexedDB
を使用した型LOCAL
の永続性の実装。
サイン:
indexedDBLocalPersistence: Persistence
インメモリペル化
タイプ「なし」の永続性の実装。
サイン:
inMemoryPersistence: Persistence
OperationType
サポートされている操作タイプの列挙。
サイン:
OperationType: {
readonly LINK: "link";
readonly REAUTHENTICATE: "reauthenticate";
readonly SIGN_IN: "signIn";
}
Proderrormap
すべての言語エラーメッセージが削除された最小限のエラーマップ。
AutherRormapでのディスカッションを参照してください
サイン:
prodErrorMap: AuthErrorMap
ProviderId
サポートされているプロバイダーの列挙。
サイン:
ProviderId: {
readonly FACEBOOK: "facebook.com";
readonly GITHUB: "github.com";
readonly GOOGLE: "google.com";
readonly PASSWORD: "password";
readonly PHONE: "phone";
readonly TWITTER: "twitter.com";
}
SigninMethod
サポートされているサインインメソッドの列挙。
サイン:
SignInMethod: {
readonly EMAIL_LINK: "emailLink";
readonly EMAIL_PASSWORD: "password";
readonly FACEBOOK: "facebook.com";
readonly GITHUB: "github.com";
readonly GOOGLE: "google.com";
readonly PHONE: "phone";
readonly TWITTER: "twitter.com";
}
CustomParameters
OAUTHカスタムパラメーターのマップ。
サイン:
export declare type CustomParameters = Record<string, string>;
nextorobserver
イベントコールバックの定義を入力します。
サイン:
export declare type NextOrObserver<T> = NextFn<T | null> | Observer<T | null>;
PhoneInFooptions
電話番号の所有権を確認するために必要な情報。
必要な情報は、単一因子サインイン、多要因登録、または多要素サインインを行っているかどうかによって異なります。
サイン:
export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;
userprofile
AdditionalUserinfoで使用されるユーザープロファイル。
サイン:
export declare type UserProfile = Record<string, unknown>;