auth package

Firebase Authentication

関数

関数 説明
function(app, ...)
getAuth(app) 指定された FirebaseApp に関連付けられている Auth インスタンスを返します。インスタンスが存在しない場合は、プラットフォーム固有のデフォルトの依存関係を使用して Auth インスタンスを初期化します。
InitializeAuth(app, deps) Dependencies をきめ細かく制御して Auth インスタンスを初期化します。
function(storage, ...)
getReactNativePersistence(storage) react-native または @react-native-community/async-storage からインポートした AsyncStorage をラップする永続オブジェクトを返します。このオブジェクトは、初期化 Auth() の永続依存関係フィールドで使用できます。
function(auth, ...)
applyActionCode(auth, oobCode) メールまたはその他の帯域外メカニズムでユーザーに送信された確認コードを適用します。
beforeAuthStateChanged(auth, callback, onAbort) 認証状態の変化によって新規ユーザーが設定される前に実行されるブロッキング コールバックを追加します。
checkActionCode(auth, oobCode) メールまたはその他の帯域外メカニズムでユーザーに送信された確認コードを確認します。
confirmPasswordReset(auth, oobCode, newPassword) 提供された確認コードと新しいパスワードを提供されたので、パスワードの再設定プロセスを完了します。
connectAuthEmulator(auth, url, options) 本番環境の Firebase Auth サービスではなく、Firebase Auth エミュレータと通信するように Auth インスタンスを変更します。
createUserWithEmailAndPassword(auth, email, password) 指定されたメールアドレスとパスワードに関連付けられた新しいユーザー アカウントを作成します。
fetchSignInMethodsForEmail(auth, email) 指定されたメールアドレスに対して利用可能なログイン方法のリストを取得します。メール列挙保護が有効になっている場合、このメソッドは指定されたメールで使用できる認証方法の数に関係なく、空のリストを返します。
getMultiFactorResolver(auth, error) 多要素フローの完了に適した MultiFactorResolver を提供します。
getRedirectResult(auth, resolver) リダイレクト ベースのログインフローから UserCredential を返します。
InitializeRecaptchaConfig(auth) reCAPTCHA 構成を Auth インスタンスに読み込みます。
isSignInWithEmailLink(auth, emailLink) 受信リンクが signInWithEmailLink() に適したメールリンクを使用したログインかどうかを確認します。
onAuthStateChanged(auth, nextOrObserver, error, complete) ユーザーのログイン状態の変更に関するオブザーバーを追加します。
onIdTokenChanged(auth, nextOrObserver, error, complete) ログイン ユーザーの ID トークンの変更についてオブザーバーを追加します。
revokeAccessToken(auth, token) 指定されたアクセス トークンを取り消します。現時点では、Apple OAuth アクセス トークンのみがサポートされています。
sendPasswordResetEmail(auth, email, actionCodeSettings) 指定したメールアドレスにパスワードの再設定メールを送信します。指定されたメールアドレスのユーザー アカウントがなく、メール列挙保護が有効になっている場合、このメソッドはエラーを返しません。
sendSignInLinkToEmail(auth, email, actionCodeSettings) 指定されたメールアドレスで、ログイン用メールアドレスのリンクをユーザーに送信します。
setPersistence(auth, persistence) 現在保存されている Auth セッションの Auth インスタンスでの永続性のタイプを変更し、今後のログイン リクエスト(リダイレクト リクエストによるログインを含む)にこのタイプの永続性を適用します。
signInAnonymously(auth) 匿名ユーザーとして非同期でログインします。
signInWithCredential(auth, credential) 指定された認証情報で非同期的にログインします。
signInWithCustomToken(auth, customToken) カスタム トークンを使用して非同期でログインします。
signInWithEmailAndPassword(auth, email, password) メールアドレスとパスワードを使用して非同期でログインします。
signInWithEmailLink(auth, email, emailLink) メールとログイン用メールアドレスのリンクを使用して、非同期でログインします。
signInWithPhoneNumber(auth, phoneNumber, appVerifier) 電話番号を使用して非同期でログインします。
signInWithPopup(auth, provider, resolver) ポップアップ ベースの OAuth 認証フローを使用して Firebase クライアントを認証します。
signInWithRedirect(auth, provider, resolver) フルページ リダイレクト フローを使用して Firebase クライアントを認証します。
signOut(auth) 現在のユーザーをログアウトします。
updateCurrentUser(auth, user) 指定されたユーザーを Auth インスタンスで Auth.currentUser として非同期に設定します。
useDeviceLanguage(auth) 現在の言語をデバイスまたはブラウザのデフォルトの設定に設定します。
validatePassword(auth, password) プロジェクトまたはテナント用に構成されたパスワード ポリシーに照らしてパスワードを検証します。
verifyPasswordResetCode(auth, code) メールまたはその他の帯域外メカニズムでユーザーに送信されたパスワード リセット コードを確認します。
function(link, ...)
parseActionCodeURL(link) メールのアクション リンク文字列を解析し、リンクが有効な場合は ActionCodeURL を返し、それ以外の場合は null を返します。
function(user, ...) をご覧ください。
deleteUser(user) ユーザーを削除してログアウトします。
getIdToken(user, forceRefresh) Firebase サービスでユーザーを識別するために使用される JSON Web Token(JWT)を返します。
getIdTokenResult(user, forceRefresh) Firebase サービスでユーザーを識別するために、シリアル化解除された JSON Web Token(JWT)を返します。
linkWithCredential(ユーザー, 認証情報) 指定された認証情報にユーザー アカウントをリンクします。
linkWithPhoneNumber(user, phoneNumber, appVerifier) 指定された電話番号にユーザー アカウントをリンクします。
linkWithPopup(ユーザー、プロバイダ、リゾルバ) ポップアップ ベースの OAuth フローを使用して、認証済みプロバイダをユーザー アカウントにリンクします。
linkWithRedirect(user, provider, resolver) ページ全体へのリダイレクト フローを使用して、OAuthProvider をユーザー アカウントにリンクします。
multiFactor(ユーザー) ユーザーに対応する MultiFactorUser です。
reauthenticateWithCredential(user, credential)(ユーザー, 認証情報) 新しい認証情報を使用してユーザーを再認証します。
reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier) 新しいスマートフォンの認証情報を使用してユーザーを再認証します。
reauthenticateWithPopup(ユーザー, プロバイダ, リゾルバ) ポップアップ ベースの OAuth フローを使用し、指定された OAuthProvider で現在のユーザーを再認証します。
reauthenticateWithRedirect(ユーザー, プロバイダ, リゾルバ) ページ全体へのリダイレクト フローを使用して、指定された OAuthProvider で現在のユーザーを再認証します。
reload(user)(再読み込み(ユーザー)) ログインしている場合は、ユーザー アカウント データを再読み込みします。
sendEmailVerification(user, actionCodeSettings) ユーザーに確認メールを送信します。
unlink(user, providerId) ユーザー アカウントからプロバイダのリンクを解除します。
updateEmail(user, newEmail) ユーザーのメールアドレスを更新します。
updatePassword(user, newPassword) ユーザーのパスワードを更新します。
updatePhoneNumber(user, credential)(ユーザー、認証情報) ユーザーの電話番号を更新します。
updateProfile(user, { ディスプレイ名, 写真 URL: フォトの URL }) ユーザーのプロフィール データを更新します。
verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings) 新しいメールアドレスに確認メールを送信します。
function(userCredential, ...)
getAdditionalUserInfo(userCredential) 指定された認証情報のプロバイダ固有の AdditionalUserInfo を抽出します。

クラス

クラス 説明
ActionCodeURL パスワードのリセット、メールの確認、メールリンク ログインなどのメール アクション URL を解析するユーティリティ クラス。
AuthCredential AuthProvider によって返される認証情報を表すインターフェース。
EmailAuthCredential ProviderId.PASSWORD に対して EmailAuthProvider によって返される認証情報を表すインターフェース
EmailAuthProvider EmailAuthCredential を生成するためのプロバイダ。
FacebookAuthProvider ProviderId.FACEBOOK の OAuthCredential を生成するためのプロバイダ。
GitHubAuthProvider ProviderId.GITHUB の OAuthCredential を生成するためのプロバイダ。
GoogleAuthProvider ProviderId.GOOGLE の OAuthCredential を生成するためのプロバイダ。
OAuthCredential OAuthProvider によって返される OAuth 認証情報を表します。
OAuthProvider 汎用の OAuthCredential を生成するためのプロバイダ。
PhoneAuthCredential PhoneAuthProvider から返される認証情報を表します。
PhoneAuthProvider PhoneAuthCredential を生成するためのプロバイダ。
PhoneMultiFactorGenerator PhoneMultiFactorAssertion を生成するためのプロバイダ。
RecaptchaVerifier reCAPTCHA ベースのアプリケーション検証ツール。
SAMLAuthProvider SAML 用の AuthProvider
TotpMultiFactorGenerator TotpMultiFactorAssertion を生成するためのプロバイダ。
TotpSecret TotpMultiFactorAssertion を生成するためのプロバイダ共有秘密鍵とその他のパラメータを保存して、時間ベースの OTP を生成します。共有秘密鍵を取得し、QR コード URL を生成するメソッドを実装します。
TwitterAuthProvider ProviderId.TWITTER の OAuthCredential を生成するためのプロバイダ。

インターフェース

インターフェース 説明
ActionCodeInfo checkActionCode() からのレスポンス。
ActionCodeSettings 必須の続行/状態 URL を定義するインターフェース。オプションの Android と iOS のバンドル ID を指定します。
AdditionalUserInfo フェデレーション ID プロバイダからの追加のユーザー情報を含む構造。
ApplicationVerifier ドメインの所有権の証明と不正使用の防止。
認証 Firebase Auth サービスを表すインターフェース。
AuthError Auth エラーのインターフェース。
AuthErrorMap エラーコードとエラー メッセージのマッピング。
AuthProvider 認証プロバイダを表すインターフェース。AuthCredential の作成を容易にします。
認証設定 Auth インスタンスの設定を表すインターフェース。
構成 Auth 構成を表すインターフェース。
ConfirmationResult 電話番号によるログイン、リンク、再認証通話の結果。
依存関係 Auth インスタンスの初期化に使用できる依存関係。
EmulatorConfig Firebase Authentication エミュレータの構成。
IdTokenResult: User.getIdTokenResult() から取得した ID トークンの結果を表すインターフェース。
MultiFactorAssertion 第 2 要素の所有権を主張するための基本クラス。
MultiFactorError このエラーは、ユーザーがログインするために 2 つ目の要素を入力する必要がある場合にスローされます。
MultiFactorInfo 第 2 要素エンティティの情報を含む構造体。
MultiFactorResolver ユーザーがログインのために 2 つ目の要素を入力する必要がある場合に、MultiFactorError からの復旧を容易にするために使用されるクラス。
MultiFactorSession ユーザーの第 2 要素を登録する、または登録ユーザーの第 2 要素によるログインをサポートするために使用される多要素セッション オブジェクトを定義するインターフェース。
MultiFactorUser User に関連する多要素関連のプロパティとオペレーションを定義するインターフェース。
OAuthCredentialOptions OAuthCredential を初期化するオプションを定義します。
ParsedToken 解析された ID トークンを表すインターフェース。
PasswordPolicy パスワード ポリシーの要件を指定する構造。
PasswordValidationStatus 満たされている、または違反しているパスワード ポリシーの要件と、その要件を示す構造。
永続性 想定される永続性メカニズムのタイプをカバーするインターフェース。
PhoneMultiFactorAssertion スマートフォンの第 2 要素の所有権を主張するためのクラス。PhoneMultiFactorGenerator.assertion() によって提供されます
PhoneMultiFactorEnrollInfoOptions 第 2 要素の登録に使用するオプション。
PhoneMultiFactorInfo 電話番号の第 2 要素用の MultiFactorInfo インターフェースのサブクラスです。この第 2 要素の factorIdFactorId.PHONE です。
PhoneMultiFactorSignInInfoOptions 第 2 要素でのログインに使用するオプション。
PhoneSingleFactorInfoOptions 単一要素認証のログインに使用するオプション。
PopupRedirectResolver signInWithPopup()signInWithRedirect() などの DOM 固有の操作を処理するために使用するリゾルバ。
ReactNativeAsyncStorage 指定された AsyncStorage のインターフェース。
RecaptchaParameters reCAPTCHA パラメータを表すインターフェース。使用可能なパラメータの一覧については、reCAPTCHA のドキュメントをご覧ください。sitekey を除くすべてのパラメータを使用できます。Firebase Auth はプロジェクトごとに reCAPTCHA をプロビジョニングし、レンダリング時にサイトキーを構成します。invisible reCAPTCHA の場合は、size キーを invisible に設定します。
TotpMultiFactorAssertion TOTP 第 2 要素の所有権を主張するためのクラス。TotpMultiFactorGenerator.assertionForEnrollment()TotpMultiFactorGenerator.assertionForSignIn() によって提供されます
TotpMultiFactorInfo TOTP の第 2 要素用の MultiFactorInfo インターフェースのサブクラス。この第 2 要素の factorIdFactorId.TOTP です。
ユーザー ユーザー アカウント。
UserCredential(ユーザーの認証情報) UserOperationType、プロバイダ ID を含む構造体。
UserInfo ユーザー プロフィール情報。Firebase プロジェクトのアプリでのみ表示されます。
UserMetadata ユーザーのメタデータを表すインターフェース。

変数

変数 説明
ActionCodeOperation 有効なメール アクション タイプの列挙型。
AuthErrorCodes 考えられる Auth エラーコードのマップ。SDK によってスローされるエラーと簡単に比較できます。
browserLocalPersistence 基盤となるストレージに localStorage を使用した LOCAL 型の永続性の実装。
browserPopupRedirectResolver ブラウザベースのアプリケーションに適した PopupRedirectResolver の実装です。
browserSessionPersistence 基盤となるストレージに sessionStorage を使用した SESSION永続性の実装。
cordovaPopupRedirectResolver Cordova ベースのアプリケーションに適した PopupRedirectResolver の実装。
debugErrorMap ほとんどのエラーコードの詳細な説明を含む詳細エラーマップ。AuthErrorMap の説明をご覧ください。
FactorId 多要素認証に使用できる要素の列挙。
indexedDBLocalPersistence 基盤となるストレージに indexedDB を使用した LOCAL 型の永続性の実装。
inMemoryPersistence 「NONE」タイプの永続性の実装。
オペレーション タイプ サポートされている演算タイプの列挙。
prodErrorMap すべての詳細エラー メッセージが削除された最小限のエラーマップ。AuthErrorMap の説明をご覧ください。
ProviderId サポートされているプロバイダの列挙。
SignInMethod サポートされているログイン方法を列挙します。

型エイリアス

型エイリアス 説明
CustomParameters OAuth カスタム パラメータのマップ。
NextOrObserver イベント コールバックの型定義。
PhoneInfoOptions 電話番号の所有権を証明するために必要な情報。
UserProfile AdditionalUserInfo で使用されるユーザー プロファイル。

関数(アプリ、...)

getAuth(アプリ)

指定された FirebaseApp に関連付けられている Auth インスタンスを返します。インスタンスが存在しない場合は、プラットフォーム固有のデフォルトの依存関係を使用して Auth インスタンスを初期化します。

署名:

export declare function getAuth(app?: FirebaseApp): Auth;

パラメータ

パラメータ 説明
アプリ FirebaseApp Firebase アプリ。

戻り値:

認証

InitializeAuth(app, deps)

Dependencies をきめ細かく制御して Auth インスタンスを初期化します。

この関数を使用すると、Auth インスタンスを getAuth() よりも細かく制御できます。getAuth は、プラットフォーム固有のデフォルトを使用して Dependencies を提供します。一般に、getAuth は Auth を初期化する最も簡単な方法であり、ほとんどのユースケースで使用できます。使用する永続性レイヤを制御する必要がある場合や、signInWithPopup または signInWithRedirect を使用していない場合はバンドルサイズを最小限に抑えるには、initializeAuth を使用します。

たとえば、アプリが匿名アカウントのみを使用し、現在のセッション用アカウントのみを保存する場合は、次のように Auth を初期化します。

const auth = initializeAuth(app, {
  persistence: browserSessionPersistence,
  popupRedirectResolver: undefined,
});

署名:

export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;

パラメータ

パラメータ 説明
アプリ FirebaseApp
依存関係 依存関係

戻り値:

認証

function(storage, ...)

getReactNativePersistence(storage)

react-native または @react-native-community/async-storage からインポートした AsyncStorage をラップする永続オブジェクトを返します。このオブジェクトは、terraformAuth() の永続依存関係フィールドで使用できます。

署名:

export declare function getReactNativePersistence(storage: ReactNativeAsyncStorage): Persistence;

パラメータ

パラメータ 説明
storage ReactNativeAsyncStorage

戻り値:

永続性

function(auth, ...)

applyActionCode(auth, oobCode)

メールまたはその他の帯域外メカニズムでユーザーに送信された確認コードを適用します。

署名:

export declare function applyActionCode(auth: Auth, oobCode: string): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
oobCode 文字列 ユーザーに送信される確認コード。

戻り値:

約束 <void>

beforeAuthStateChanged(auth, callback, onAbort)

認証状態の変化によって新規ユーザーが設定される前に実行されるブロッキング コールバックを追加します。

署名:

export declare function beforeAuthStateChanged(auth: Auth, callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
callback (ユーザー: ユーザー | null)=>void |約束 <void> 新しいユーザー値が設定される前にトリガーされるコールバックです。これがスローされた場合は、ユーザーの設定がブロックされます。
onAbort(中止) () =>無効 後に beforeAuthStateChanged() コールバックがスローされたときにトリガーされるコールバック。これにより、副作用を元に戻すことができます。

戻り値:

配信停止

checkActionCode(auth, oobCode)

メールまたはその他の帯域外メカニズムでユーザーに送信された確認コードを確認します。

署名:

export declare function checkActionCode(auth: Auth, oobCode: string): Promise<ActionCodeInfo>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
oobCode 文字列 ユーザーに送信される確認コード。

戻り値:

Promise<ActionCodeInfo>

コードに関するメタデータが含まれます。

ConfirmPasswordReset(auth, oobCode, newPassword)

提供された確認コードと新しいパスワードを提供されたので、パスワードの再設定プロセスを完了します。

署名:

export declare function confirmPasswordReset(auth: Auth, oobCode: string, newPassword: string): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
oobCode 文字列 お客様に送信される確認コード。
newPassword 文字列 新しいパスワード。

戻り値:

約束 <void>

connectAuthEmulator(auth、url, options)

本番環境の Firebase Auth サービスではなく、Firebase Auth エミュレータと通信するように Auth インスタンスを変更します。

これは、InitializeAuth() の最初の呼び出しの直後に同期的に呼び出す必要があります。エミュレータのトラフィックは暗号化されないため、本番環境の認証情報は使用しないでください。

署名:

export declare function connectAuthEmulator(auth: Auth, url: string, options?: {
    disableWarnings: boolean;
}): void;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
URL 文字列 エミュレータが実行されている URL(例: http://localhost:9099)。
オプション { disableWarnings: boolean;} 省略可。options.disableWarnings のデフォルトは false です。true に設定すると、DOM に表示される警告バナーが無効になります。

戻り値:

void

connectAuthEmulator(auth, 'http://127.0.0.1:9099', { disableWarnings: true });

createUserWithEmailAndPassword(auth, email, password)

指定されたメールアドレスとパスワードに関連付けられた新しいユーザー アカウントを作成します。

ユーザー アカウントが正常に作成されると、このユーザーはアプリケーションにもログインできるようになります。

アカウントがすでに存在するかパスワードが無効な場合、ユーザー アカウントの作成に失敗することがあります。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function createUserWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
メール 文字列 ユーザーのメール アドレス。
パスワード 文字列 ユーザーが選択したパスワード。

戻り値:

Promise <UserCredential>

fetchSignInMethodsForEmail(auth, email)

指定されたメールアドレスに対して利用可能なログイン方法のリストを取得します。メール列挙保護が有効になっている場合、このメソッドは指定されたメールで使用できる認証方法の数に関係なく、空のリストを返します。

これは、同じプロバイダのログイン方法を区別する場合に便利です(例:EmailAuthProvider には、SignInMethod.EMAIL_PASSWORD と SignInMethod.EMAIL_LINK の 2 つのログイン方法が用意されています。

署名:

export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
メール 文字列 ユーザーのメールアドレス。非推奨。セキュリティのベスト プラクティスとして、この方法から移行することをおすすめします。詳しくは、Identity Platform のドキュメントでメール列挙保護をご覧ください。

戻り値:

Promise&lt;string[]&gt;

getMultiFactorResolver(auth、error)

多要素フローの完了に適した MultiFactorResolver を提供します。

署名:

export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
エラー MultiFactorError ログインまたは再認証オペレーション中に発生した MultiFactorError です。

戻り値:

MultiFactorResolver

getRedirectResult(auth, resolver)

リダイレクト ベースのログインフローから UserCredential を返します。

ログインが成功すると、ログインしたユーザーが返されます。ログインに失敗した場合、エラーで失敗します。リダイレクト オペレーションが呼び出されなかった場合は、null を返します。

この方法は、Node.js 環境や、FirebaseServerApp で作成された Auth インスタンスでは動作しません。

署名:

export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
リゾルバ PopupRedirectResolver PopupRedirectResolver のインスタンス。すでに InitializeAuth() に指定されている場合、または getAuth() によって指定されている場合は省略可

戻り値:

Promise<ユーザー認証情報 |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(auth)

reCAPTCHA 構成を Auth インスタンスに読み込みます。

これにより、現在の Auth セッションに reCAPTCHA 構成が読み込まれます。この構成は、reCAPTCHA 検証フローを認証プロバイダごとにトリガーする必要があるかどうかを示します。

InitializeRecaptchaConfig() が呼び出されない場合、認証フローは常に reCAPTCHA 検証なしで開始されます。プロバイダが reCAPTCHA 検証を要求するように構成されている場合、SDK は透過的に reCAPTCHA 構成を読み込み、認証フローを再開します。

したがって、このオプションのメソッドを呼び出すことで、今後の認証フローのレイテンシを短縮できます。reCAPTCHA 構成を早期に読み込むことで、reCAPTCHA によって収集されるシグナルの質も向上します。

この方法は、Node.js 環境では動作しません。

署名:

export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。

戻り値:

約束 <void>

initializeRecaptchaConfig(auth);

受信リンクが signInWithEmailLink() に適したメールリンクを使用したログインかどうかを確認します。

署名:

export declare function isSignInWithEmailLink(auth: Auth, emailLink: string): boolean;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
メールリンク 文字列 ユーザーのメールアドレスに送信されたリンク。

戻り値:

ブール値

onAuthStateChanged(auth, nextOrObserver, error, complete)

ユーザーのログイン状態の変更に関するオブザーバーを追加します。

以前の動作を維持するには、onIdTokenChanged() をご覧ください。

署名:

export declare function onAuthStateChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
nextOrObserver NextOrObserver<ユーザー> 変更時にトリガーされます。
エラー ErrorFn 非推奨です。このコールバックはトリガーされません。ログイン/ログアウト時のエラーは、ログイン/ログアウト関数から返される Promise で検出されます。
完了 CompleteFn 非推奨です。このコールバックはトリガーされません。

戻り値:

配信停止

onIdTokenChanged(auth, nextOrObserver, error, complete)

ログイン ユーザーの ID トークンの変更についてオブザーバーを追加します。

これには、ログイン、ログアウト、トークン更新イベントが含まれます。これは、ID トークンの有効期限が切れても自動的にトリガーされません。User.getIdToken() を使用して ID トークンを更新します。

署名:

export declare function onIdTokenChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
nextOrObserver NextOrObserver<ユーザー> 変更時にトリガーされます。
エラー ErrorFn 非推奨です。このコールバックはトリガーされません。ログイン/ログアウト時のエラーは、ログイン/ログアウト関数から返される Promise で検出されます。
完了 CompleteFn 非推奨です。このコールバックはトリガーされません。

戻り値:

配信停止

rememberAccessToken(auth, token)

指定されたアクセス トークンを取り消します。現時点では、Apple OAuth アクセス トークンのみがサポートされています。

署名:

export declare function revokeAccessToken(auth: Auth, token: string): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
token 文字列 Apple OAuth アクセス トークン。

戻り値:

約束 <void>

sendPasswordResetEmail(auth, email, actionCodeSettings)

指定したメールアドレスにパスワードの再設定メールを送信します。指定されたメールアドレスのユーザー アカウントがなく、メール列挙保護が有効になっている場合、このメソッドはエラーを返しません。

パスワードの再設定を完了するには、ユーザーに送信されたメールに記載されたコードとユーザーが指定した新しいパスワードを使用して、confirmPasswordReset() を呼び出します。

署名:

export declare function sendPasswordResetEmail(auth: Auth, email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
メール 文字列 ユーザーのメール アドレス。
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 sendPasswordResetEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain code from user.
await confirmPasswordReset('user@example.com', code);

sendSignInLinkToEmail(auth, email, actionCodeSettings)

指定されたメールアドレスで、ログイン用メールアドレスのリンクをユーザーに送信します。

他の帯域外メール アクション(パスワードのリセットやメールアドレスの確認など)と異なり、ログインはアプリ内で完結させる必要があります。これは、フローの最後でユーザーがログインに成功し、認証状態がアプリ内で維持される必要があるためです。

メールリンクによるログインを完了するには、ユーザーに送信されたメールに記載されているメールアドレスとメールリンクを使用して signInWithEmailLink() を呼び出します。

署名:

export declare function sendSignInLinkToEmail(auth: Auth, email: string, actionCodeSettings: ActionCodeSettings): Promise<void>;

パラメータ

パラメータ 説明
auth 認証
メール 文字列 ユーザーのメール アドレス。
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 sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
  await signInWithEmailLink(auth, 'user@example.com', emailLink);
}

setPersistence(auth, persistence)

現在保存されている Auth セッションの Auth インスタンスでの永続性のタイプを変更し、今後のログイン リクエスト(リダイレクト リクエストによるログインを含む)にこのタイプの永続性を適用します。

これにより、ログインするユーザーは、セッションを記憶するかどうかを簡単に指定できます。また、他のユーザーと共有しているアプリやセンシティブ データがあるアプリの Auth の状態が、決して永続化されないようにします。

この方法は、Node.js 環境や、FirebaseServerApp で作成された Auth インスタンスでは動作しません。

署名:

export declare function setPersistence(auth: Auth, persistence: Persistence): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
永続性は 永続性 使用する永続性

戻り値:

約束 <void>

永続性の変更が完了すると解決される Promise

setPersistence(auth, browserSessionPersistence);

signInAnonymously(auth)

匿名ユーザーとして非同期でログインします。

すでに匿名ユーザーがログインしている場合は、そのユーザーが返されます。そうでない場合は、新しい匿名ユーザー ID が作成されて返されます。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function signInAnonymously(auth: Auth): Promise<UserCredential>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。

戻り値:

Promise <UserCredential>

signInWithCredential(auth, credential)

指定された認証情報で非同期的にログインします。

AuthProvider を使用して認証情報を生成できます。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function signInWithCredential(auth: Auth, credential: AuthCredential): Promise<UserCredential>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
証明書 AuthCredential 認証情報。

戻り値:

Promise <UserCredential>

signInWithCustomToken(auth, customToken)

カスタム トークンを使用して非同期でログインします。

カスタム トークンは Firebase Auth を既存の認証システムと統合するために使用され、Admin SDKcreateCustomToken メソッドを使用して認証バックエンドで生成する必要があります。

トークンが無効であるか、期限切れであるか、Firebase Auth サービスで受け入れられない場合、エラーで失敗します。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function signInWithCustomToken(auth: Auth, customToken: string): Promise<UserCredential>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
customToken 文字列 ログインに使用するカスタム トークン。

戻り値:

Promise <UserCredential>

signInWithEmailAndPassword(auth, email, password)

メールアドレスとパスワードを使用して非同期でログインします。

メールアドレスとパスワードが一致しない場合、エラーが発生して失敗します。メール列挙保護が有効になっている場合、このメソッドは「auth/invalid-credential」で失敗します。メールまたはパスワードが無効な場合に返されるメッセージです。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function signInWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
メール 文字列 ユーザーのメールアドレス。
パスワード 文字列 ユーザーのパスワード。

戻り値:

Promise <UserCredential>

メールとログイン用メールアドレスのリンクを使用して、非同期でログインします。

リンクが渡されない場合、リンクは現在の URL から推定されます。

メールアドレスが無効な場合、またはメールリンクの OTP が期限切れの場合は、エラーが発生して失敗します。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function signInWithEmailLink(auth: Auth, email: string, emailLink?: string): Promise<UserCredential>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
メール 文字列 ユーザーのメール アドレス。
メールリンク 文字列 ユーザーのメールアドレスに送信されたリンク。

戻り値:

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(auth, phoneNumber, appVerifier)

電話番号を使用して非同期でログインします。

このメソッドは、指定された電話番号に SMS でコードを送信し、ConfirmationResult を返します。スマートフォンに送信されたコードをユーザーが提供したら、そのコードを指定して ConfirmationResult.confirm() を呼び出し、ユーザーのログインを開始します。

不正使用防止のため、このメソッドには ApplicationVerifier も必要です。この SDK には、reCAPTCHA ベースの実装である RecaptchaVerifier が含まれています。この関数は、RecaptchaVerifier をサポートしていない他のプラットフォーム(React Native など)でも機能しますが、サードパーティの ApplicationVerifier 実装を使用する必要があります。

この方法は、Node.js 環境や、FirebaseServerApp で作成された Auth インスタンスでは動作しません。

署名:

export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
電話番号 文字列 E.164 形式のユーザーの電話番号(例: +16505550101)。
appVerifier です ApplicationVerifier ApplicationVerifier

戻り値:

Promise<ConfirmationResult>

// '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(auth, provider, resolver)

ポップアップ ベースの OAuth 認証フローを使用して Firebase クライアントを認証します。

成功すると、ログイン中のユーザーとプロバイダの認証情報が返されます。ログインに失敗した場合、エラーに関する追加情報を含むエラー オブジェクトを返します。

この方法は、Node.js 環境や、FirebaseServerApp で作成された Auth インスタンスでは動作しません。

署名:

export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
provider AuthProvider 認証するプロバイダ。プロバイダは 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(auth, provider, resolver)

フルページ リダイレクト フローを使用して Firebase クライアントを認証します。

このオペレーションの結果とエラーを処理するには、getRedirectResult() を参照してください。signInWithRedirect() を使用する場合は、ベスト プラクティスに従ってください

この方法は、Node.js 環境や、FirebaseServerApp で作成された Auth インスタンスでは動作しません。

署名:

export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
provider AuthProvider 認証するプロバイダ。プロバイダは 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;

signOut(auth)

現在のユーザーをログアウトします。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function signOut(auth: Auth): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。

戻り値:

約束 <void>

updateCurrentUser(auth, user)

指定されたユーザーを Auth インスタンスで Auth.currentUser として非同期に設定します。

指定されたユーザーの新しいインスタンス コピーが作成され、currentUser として設定されます。

これにより、他のログイン メソッドと同様に、onAuthStateChanged() リスナーと onIdTokenChanged() リスナーがトリガーされます。

更新するユーザーが別の Firebase プロジェクトに属している場合、オペレーションは失敗し、エラーが発生します。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスではサポートされていません。

署名:

export declare function updateCurrentUser(auth: Auth, user: User | null): Promise<void>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
ユーザー ユーザー |null 新しいユーザー

戻り値:

約束 <void>

useDeviceLanguage(auth)

現在の言語をデバイスまたはブラウザのデフォルトの設定に設定します。

署名:

export declare function useDeviceLanguage(auth: Auth): void;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。

戻り値:

void

validatePassword(auth, password)

プロジェクトまたはテナント用に構成されたパスワード ポリシーに照らしてパスワードを検証します。

Auth インスタンスにテナント ID が設定されていない場合、このメソッドは、プロジェクト用に構成されたパスワード ポリシーを使用します。それ以外の場合、このメソッドはテナント用に構成されたポリシーを使用します。パスワード ポリシーが構成されていない場合は、すべてのプロジェクトに構成されたデフォルト ポリシーが使用されます。

送信されたパスワードがパスワード ポリシーの要件を満たしておらず、このメソッドが以前に呼び出されたことが原因で認証フローが失敗した場合、このメソッドは再度呼び出されたときに利用可能な最新のポリシーを使用します。

署名:

export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
パスワード 文字列 検証するパスワード。

戻り値:

Promise<PasswordValidationStatus>

validatePassword(auth, 'some-password');

VerifyPasswordResetCode(auth, code)

メールまたはその他の帯域外メカニズムでユーザーに送信されたパスワード リセット コードを確認します。

署名:

export declare function verifyPasswordResetCode(auth: Auth, code: string): Promise<string>;

パラメータ

パラメータ 説明
auth 認証 Auth インスタンス。
コード 文字列 ユーザーに送信される確認コード。

戻り値:

Promise<文字列>

ユーザーのメールアドレス(有効な場合)。

parseActionCodeURL(link)

メールのアクション リンク文字列を解析し、リンクが有効な場合は ActionCodeURL を返し、それ以外の場合は null を返します。

署名:

export declare function parseActionCodeURL(link: string): ActionCodeURL | null;

パラメータ

パラメータ 説明
リンク 文字列

戻り値:

ActionCodeURL |null

関数(ユーザー、...)

deleteUser(ユーザー)

ユーザーを削除してログアウトします。

署名:

export declare function deleteUser(user: User): Promise<void>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。

戻り値:

約束 <void>

getIdToken(user, forceRefresh)

Firebase サービスでユーザーを識別するために使用される JSON Web Token(JWT)を返します。

トークンが期限切れになっていない場合、または 5 分以内に期限切れにならない場合は、現在のトークンを返します。それ以外の場合は、トークンを更新して新しいトークンを返します。

署名:

export declare function getIdToken(user: User, forceRefresh?: boolean): Promise<string>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
forceRefresh ブール値 トークンの有効期限に関係なく、強制的に更新する。

戻り値:

Promise<文字列>

getIdTokenResult(user, forceRefresh)

Firebase サービスでユーザーを識別するために、シリアル化解除された JSON Web Token(JWT)を返します。

トークンが期限切れになっていない場合、または 5 分以内に期限切れにならない場合は、現在のトークンを返します。それ以外の場合は、トークンを更新して新しいトークンを返します。

署名:

export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Promise<IdTokenResult>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
forceRefresh ブール値 トークンの有効期限に関係なく、強制的に更新する。

戻り値:

Promise <IdTokenResult>

linkWithCredential(ユーザー, 認証情報)

指定された認証情報にユーザー アカウントをリンクします。

AuthProvider を使用して認証情報を生成できます。

署名:

export declare function linkWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
証明書 AuthCredential 認証情報。

戻り値:

Promise <UserCredential>

linkWithPhoneNumber(user, phoneNumber, appVerifier)

指定された電話番号にユーザー アカウントをリンクします。

この方法は、Node.js 環境では動作しません。

署名:

export declare function linkWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
電話番号 文字列 E.164 形式のユーザーの電話番号(例: +16505550101)。
appVerifier です ApplicationVerifier ApplicationVerifier

戻り値:

Promise<ConfirmationResult>

linkWithPopup(ユーザー、プロバイダ、リゾルバ)

ポップアップ ベースの OAuth フローを使用して、認証済みプロバイダをユーザー アカウントにリンクします。

リンクが成功すると、返される結果にはユーザーとプロバイダの認証情報が含まれます。

この方法は、Node.js 環境では動作しません。

署名:

export declare function linkWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
provider AuthProvider 認証するプロバイダ。プロバイダは 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 環境や、FirebaseServerApp で作成された Auth インスタンスでは動作しません。

署名:

export declare function linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
provider AuthProvider 認証するプロバイダ。プロバイダは 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);

多要素(ユーザー)

ユーザーに対応する MultiFactorUser です。

これは、ユーザーに関連するすべての多要素プロパティとオペレーションにアクセスするために使用されます。

署名:

export declare function multiFactor(user: User): MultiFactorUser;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。

戻り値:

MultiFactorUser

reauthenticateWithCredential(ユーザー, 認証情報)

新しい認証情報を使用してユーザーを再認証します。

最近のログイン試行からトークンを取得する updatePassword() などの操作の前に使用します。このメソッドを使用して、CREDENTIAL_TOO_OLD_LOGIN_AGAIN エラーまたは TOKEN_EXPIRED エラーから復旧できます。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスによってログインした User ではサポートされていません。

署名:

export declare function reauthenticateWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
証明書 AuthCredential 認証情報。

戻り値:

Promise <UserCredential>

reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier)

新しいスマートフォンの認証情報を使用してユーザーを再認証します。

最近のログイン試行からトークンを取得する updatePassword() などの操作の前に使用します。

この方法は、Node.js 環境では動作しません。また、FirebaseServerApp で作成された Auth インスタンスによってログインした User に対しても機能しません。

署名:

export declare function reauthenticateWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
電話番号 文字列 E.164 形式のユーザーの電話番号(例: +16505550101)。
appVerifier です ApplicationVerifier ApplicationVerifier

戻り値:

Promise<ConfirmationResult>

reauthenticateWithPopup(ユーザー、プロバイダ、リゾルバ)

ポップアップ ベースの OAuth フローを使用し、指定された OAuthProvider で現在のユーザーを再認証します。

再認証が成功した場合、返される結果にはユーザーとプロバイダの認証情報が含まれます。

この方法は、Node.js 環境では動作しません。また、FirebaseServerApp で作成された Auth インスタンスによってログインした User に対しても機能しません。

署名:

export declare function reauthenticateWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
provider AuthProvider 認証するプロバイダ。プロバイダは OAuthProvider である必要があります。EmailAuthProvider などの OAuth 以外のプロバイダはエラーをスローします。
リゾルバ PopupRedirectResolver PopupRedirectResolver のインスタンス。すでに InitializeAuth() に指定されている場合、または getAuth() によって指定されている場合は省略可

戻り値:

Promise <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);

reauthenticateWithRedirect(ユーザー、プロバイダ、リゾルバ)

ページ全体へのリダイレクト フローを使用して、指定された OAuthProvider で現在のユーザーを再認証します。

このオペレーションの結果とエラーを処理するには、getRedirectResult() を参照してください。reauthenticateWithRedirect() を使用する場合は、ベスト プラクティスに従ってください

この方法は、Node.js 環境や、FirebaseServerApp で作成された Auth インスタンスでは動作しません。

署名:

export declare function reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
provider 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 |null 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);

ユーザー アカウントからプロバイダのリンクを解除します。

署名:

export declare function unlink(user: User, providerId: string): Promise<User>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
providerId 文字列 リンクを解除するプロバイダ。

戻り値:

Promise<ユーザー>

updateEmail(user, newEmail)

ユーザーのメールアドレスを更新します。

元のメールアドレス(設定されている場合)にメールが送信されます。このメールを使用してメールアドレスの変更を取り消して、アカウントの不正使用からユーザーを保護します。

このメソッドは、FirebaseServerApp で作成された Auth インスタンスによってログインした User ではサポートされていません。

署名:

export declare function updateEmail(user: User, newEmail: string): Promise<void>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
新しいメールアドレス 文字列 新しいメールアドレス。「auth/operation-not-allowed」がスローされます。メール列挙保護が有効になっている場合にエラーが発生します。非推奨 - 代わりに verifyBeforeUpdateEmail() を使用してください。

戻り値:

約束 <void>

updatePassword(user, newPassword)

ユーザーのパスワードを更新します。

署名:

export declare function updatePassword(user: User, newPassword: string): Promise<void>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
newPassword 文字列 新しいパスワード。

戻り値:

約束 <void>

updatePhoneNumber(user, credential)(ユーザー, 認証情報)

ユーザーの電話番号を更新します。

この方法は、Node.js 環境では動作しません。また、FirebaseServerApp で作成された Auth インスタンスによってログインした User に対しても機能しません。

署名:

export declare function updatePhoneNumber(user: User, credential: PhoneAuthCredential): Promise<void>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
証明書 PhoneAuthCredential 新しい電話番号を認証する認証情報。

戻り値:

約束 <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, { ディスプレイ名, 写真 URL: フォトの URL })

ユーザーのプロフィール データを更新します。

署名:

export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
    displayName?: string | null;
    photoURL?: string | null;
}): Promise<void>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
{ displayName、photoURL: photoUrl } { displayName?: 文字列 |null;PhotoURL?: 文字列 |null;}

戻り値:

約束 <void>

VerifyBeforeUpdateEmail(user, newEmail, actionCodeSettings)

新しいメールアドレスに確認メールを送信します。

ユーザーのメールアドレスは、確認後に新しいメールアドレスに更新されます。

カスタムのメール アクション ハンドラを使用している場合は、applyActionCode() を呼び出して検証プロセスを完了します。

署名:

export declare function verifyBeforeUpdateEmail(user: User, newEmail: string, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;

パラメータ

パラメータ 説明
ユーザー ユーザー ユーザー。
新しいメールアドレス 文字列 更新前に確認する新しいメールアドレス。
actionCodeSettings ActionCodeSettings |null 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, ...)

getAdditionalUserInfo(userCredential)

指定された認証情報のプロバイダ固有の AdditionalUserInfo を抽出します。

署名:

export declare function getAdditionalUserInfo(userCredential: UserCredential): AdditionalUserInfo | null;

パラメータ

パラメータ 説明
userCredential UserCredential(ユーザーの認証情報) ユーザー認証情報。

戻り値:

AdditionalUserInfo |null

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";
}

AuthErrorCodes

考えられる 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

要素 ID

多要素認証に使用できる要素の列挙。

署名:

FactorId: {
    readonly PHONE: "phone";
    readonly TOTP: "totp";
}

IndexingDBLocalPersistence

基盤となるストレージに indexedDB を使用した LOCAL 型の永続性の実装。

署名:

indexedDBLocalPersistence: Persistence

inMemoryPersistence

「NONE」タイプの永続性の実装。

署名:

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>;