auth package

Firebase Authentication

関数

関数 説明
function(app, ...) を使用します。
getAuth(app) 指定された FirebaseApp に関連付けられている Auth インスタンスを返します。インスタンスが存在しない場合は、プラットフォーム固有のデフォルト依存関係を使用して Auth インスタンスを初期化します。
initializeAuth(app, deps) 依存関係をきめ細かく制御して Auth インスタンスを初期化します。
function(storage, ...) を使用します。
getReactNativePersistence(storage) react-native または @react-native-community/async-storage からインポートした AsyncStorage をラップする永続性オブジェクトを返します。このオブジェクトは、initializeAuth() の永続性依存関係フィールドで使用できます。
function(auth, ...) を使用します。
applyActionCode(auth, oobCode) メールまたはその他の帯域外メカニズムでユーザーに送信された確認コードを適用します。
beforeAuthStateChanged(auth, callback, onAbort) 認証状態の変更によって新規ユーザーが設定される前に実行されるブロック コールバックを追加しました。
checkActionCode(auth, oobCode) メールまたはその他の帯域外メカニズムでユーザーに送信された確認コードをチェックします。
confirmPasswordReset(auth, oobCode, newPassword) 確認コードと新しいパスワードを受け取ったら、パスワードの再設定プロセスを完了します。
connectAuthEmulator(auth, url, options) 本番環境の Firebase Auth サービスではなく、Firebase Auth Emulator と通信するように Auth インスタンスを変更します。
createUserWithEmailAndPassword(auth, email, password) 指定したメールアドレスとパスワードに関連付けられた新しいユーザー アカウントを作成します。
fetchSignInMethodsForEmail(auth, email) 指定されたメールアドレスで利用可能なログイン方法のリストを取得します。このメソッドは、[メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)が有効な場合、指定されたメールで使用できる認証方法の数に関係なく、空のリストを返します。
getMultiFactorResolver(auth, error) 多要素フローの完了に適した MultiFactorResolver を提供します。
getRedirectResult(auth, resolver) リダイレクト ベースのログインフローから UserCredential を返します。
initializeRecaptchaConfig(auth) reCAPTCHA 構成を Auth インスタンスに読み込みます。
isSignInWithEmailLink(auth, emailLink) 受信リンクが、signInWithEmailLink() に適したメールリンクによるログインかどうかを確認します。
onAuthStateChanged(auth, nextOrObserver, error, completed) ユーザーのログイン状態の変化を通知するオブザーバーを追加します。
onIdTokenChanged(auth, nextOrObserver, error, completed) ログインしたユーザーの ID トークンに対する変更のオブザーバーを追加します。
revokeAccessToken(auth, token) 指定されたアクセス トークンを取り消します。現時点では、Apple OAuth アクセス トークンのみをサポートしています。
sendPasswordResetEmail(auth, email, actionCodeSettings) 指定したメールアドレスにパスワードの再設定メールを送信します。指定されたメールアドレスのユーザー アカウントがなく、[メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)が有効になっている場合は、このメソッドはエラーをスローしません。
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(リンク, ...)
parseActionCodeURL(リンク) メールのアクション リンク文字列を解析し、リンクが有効な場合は ActionCodeURL を返し、そうでない場合は null を返します。
function(ユーザー, ...)
deleteUser(user) ユーザーを削除してログアウトします。
getIdToken(user, forceRefresh) Firebase サービスでユーザーを識別するために使用される JSON Web Token(JWT)を返します。
getIdTokenResult(user, forceRefresh) Firebase サービスでユーザーを識別するために使用される、シリアル化解除された JSON Web Token(JWT)を返します。
linkWithCredential(user, credential) ユーザー アカウントを指定された認証情報にリンクします。
linkWithPhoneNumber(user, phoneNumber, appVerifier) ユーザー アカウントを指定された電話番号にリンクします。
linkWithPopup(user, provider, resolver) ポップアップ ベースの OAuth フローを使用して、認証されたプロバイダをユーザー アカウントにリンクします。
linkWithRedirect(user, provider, resolver) ページ全体のリダイレクト フローを使用して、OAuthProvider をユーザー アカウントにリンクします。
multiFactor(user) ユーザーに対応する MultiFactorUser
reauthenticateWithCredential(user, credential) 新しい認証情報を使用してユーザーを再認証します。
reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier) 新しい電話の認証情報を使用してユーザーを再認証します。
reauthenticateWithPopup(user, provider, resolver) ポップアップ ベースの OAuth フローを使用して、指定された OAuthProvider で現在のユーザーを再認証します。
reauthenticateWithRedirect(user, provider, resolver) ページ全体のリダイレクト フローを使用して、指定された OAuthProvider で現在のユーザーを再認証します。
reload(ユーザー) ログイン中のユーザー アカウント データを再読み込みします。
sendEmailVerification(user, actionCodeSettings) ユーザーに確認メールを送信します。
unlink(user, providerId) ユーザー アカウントからプロバイダのリンクを解除します。
updateEmail(user, newEmail) ユーザーのメールアドレスを更新します。
updatePassword(user, newPassword) ユーザーのパスワードを更新します。
updatePhoneNumber(user, credential) ユーザーの電話番号を更新します。
updateProfile(user, { displayName, photoURL: photoUrl }) ユーザーのプロフィール データを更新します。
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 省略可能な Android と iOS のバンドル ID を使用して、必要な続行/状態 URL を定義するインターフェース。
AdditionalUserInfo フェデレーション ID プロバイダからの追加のユーザー情報を含む構造。
ApplicationVerifier ドメインの所有権の証明と不正使用の防止のための検証ツール。
認証 Firebase Auth サービスを表すインターフェース。
AuthError Auth エラーのインターフェース。
AuthErrorMap エラーコードとエラー メッセージのマッピング。
AuthProvider 認証プロバイダを表すインターフェース。AuthCredential の作成を容易にするために使用されます。
AuthSettings 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 のドキュメント](https://developers.google.com/recaptcha/docs/display#render_param)をご覧ください。sitekey を除くすべてのパラメータを使用できます。Firebase Auth はプロジェクトごとに reCAPTCHA をプロビジョニングし、レンダリング時にサイトキーを構成します。invisible reCAPTCHA の場合は、size キーを invisible に設定します。
TotpMultiFactorAssertion TOTP の第 2 要素の所有権をアサートするためのクラス。TotpMultiFactorGenerator.assertionForEnrollment()TotpMultiFactorGenerator.assertionForSignIn() によって提供されます。
TotpMultiFactorInfo TOTP の第 2 要素用の MultiFactorInfo インターフェースのサブクラス。この 2 つ目の要素の factorIdFactorId.TOTP です。
User ユーザー アカウント。
UserCredential UserOperationType、プロバイダ ID を含む構造体。
UserInfo ユーザー プロフィール情報。Firebase プロジェクトのアプリにのみ表示されます。
UserMetadata ユーザーのメタデータを表すインターフェース。

変数

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

型エイリアス

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

function(app, ...)

getAuth(app)

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

署名:

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

パラメータ

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

戻り値:

認証

initializeAuth(app, deps)

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

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

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

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

署名:

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

パラメータ

パラメータ タイプ 説明
app FirebaseApp
依存関係 依存関係

戻り値:

認証

function(storage, ...)

getReactNativePersistence(storage)

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

署名:

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

パラメータ

パラメータ タイプ 説明
ストレージ ReactNativeAsyncStorage

戻り値:

永続性

function(auth, ...)

applyActionCode(auth, oobCode)

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

署名:

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

パラメータ

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

戻り値:

Promise<void>

beforeAuthStateChanged(auth, callback, onAbort)

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

署名:

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

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
callback (user: User | null) => void | Promise<void> 新しいユーザー値が設定される前にトリガーされるコールバック。スローされた場合、ユーザーは設定できなくなります。
onAbort () => void 型 後続の beforeAuthStateChanged() コールバックがスローされたときにトリガーされるコールバック。これにより、あらゆる副作用を元に戻すことができます。

戻り値:

登録解除

checkActionCode(auth, oobCode)

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

署名:

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

パラメータ

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

戻り値:

Promise<ActionCodeInfo>

コードに関するメタデータ。

confirmPasswordReset(auth, oobCode, newPassword)

確認コードと新しいパスワードを受け取ったら、パスワードの再設定プロセスを完了します。

署名:

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

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
oobCode string ユーザーに送信される確認コード。
newPassword string 新しいパスワード。

戻り値:

Promise<void>

connectAuthEmulator(auth, url, options)

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

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

署名:

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

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
URL string エミュレータが動作している 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 インスタンス。
email string ユーザーのメール アドレスです。
パスワード string ユーザーが選択したパスワード。

戻り値:

Promise<UserCredential>

fetchSignInMethodsForEmail(auth, email)

指定されたメールアドレスで利用可能なログイン方法のリストを取得します。このメソッドは、[メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)が有効な場合、指定されたメールで使用できる認証方法の数に関係なく、空のリストを返します。

これは、同じプロバイダでログイン方法(たとえば、EmailAuthProvider: 2 つのログイン方法(SignInMethod.EMAIL_PASSWORD と SignInMethod.EMAIL_LINK)があります。

署名:

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

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
email string ユーザーのメールアドレス。非推奨。セキュリティのベスト プラクティスとして、この方法から移行することをおすすめします。詳細については、[メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)の Identity Platform のドキュメントをご覧ください。

戻り値:

Promise<string[]>

getMultiFactorResolver(auth, error)

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

署名:

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

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
error 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<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;

initializeRecaptchaConfig(auth)

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

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

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

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

このメソッドは、Node.js 環境では機能しません。

署名:

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

パラメータ

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

戻り値:

Promise<void>

initializeRecaptchaConfig(auth);

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

署名:

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

パラメータ

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

戻り値:

boolean

onAuthStateChanged(auth, nextOrObserver, error, completed)

ユーザーのログイン状態の変化を通知するオブザーバーを追加します。

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

署名:

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

パラメータ

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

戻り値:

登録解除

onIdTokenChanged(auth, nextOrObserver, error, completed)

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

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

署名:

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

パラメータ

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

戻り値:

登録解除

revokeAccessToken(auth, token)

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

署名:

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

パラメータ

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

戻り値:

Promise<void>

sendPasswordResetEmail(auth, email, 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>;

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
email string ユーザーのメール アドレスです。
actionCodeSettings ActionCodeSettings ActionCodeSettings

戻り値:

Promise<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 認証
email string ユーザーのメール アドレスです。
actionCodeSettings ActionCodeSettings ActionCodeSettings

戻り値:

Promise<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 インスタンス。
永続化 永続性 使用する Persistence

戻り値:

Promise<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 string ログインに使用するカスタム トークン。

戻り値:

Promise<UserCredential>

signInWithEmailAndPassword(auth, email, password)

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

メールアドレスとパスワードが一致しない場合は失敗し、エラーになります。[Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) が有効になっている場合、無効なメール/パスワードがあると、このメソッドは「auth/invalid-credential」で失敗します。

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

署名:

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

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
email string ユーザーのメールアドレス。
パスワード string ユーザーのパスワード。

戻り値:

Promise<UserCredential>

メールとログイン用メールリンクを使用して非同期でログインします。

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

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

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

署名:

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

パラメータ

パラメータ タイプ 説明
auth 認証 Auth インスタンス。
email string ユーザーのメール アドレスです。
emailLink string ユーザーのメールアドレスに送信されたリンク。

戻り値:

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 インスタンス。
phoneNumber string 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 である必要があります。OAuth 以外のプロバイダ(EmailAuthProvider など)ではエラーがスローされます。
リゾルバ 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 である必要があります。OAuth 以外のプロバイダ(EmailAuthProvider など)ではエラーがスローされます。
リゾルバ 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 インスタンス。

戻り値:

Promise<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 新しいユーザー

戻り値:

Promise<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 インスタンス。
パスワード string 検証するパスワード。

戻り値:

Promise<PasswordValidationStatus>

validatePassword(auth, 'some-password');

verifyPasswordResetCode(auth, code)

メールまたはスパン・タップ構成でユーザーに送信されたパスワードの再設定コードをチェックします。

署名:

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

パラメータ

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

戻り値:

Promise<文字列>

ユーザーのメールアドレス。

parseActionCodeURL(リンク)

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

署名:

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

パラメータ

パラメータ タイプ 説明
リンク string

戻り値:

ActionCodeURL | null

function(user, ...)

deleteUser(user)

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

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。

戻り値:

Promise<void>

getIdToken(user, forceRefresh)

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

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

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
forceRefresh boolean トークンの有効期限に関係なく強制更新します。

戻り値:

Promise<文字列>

getIdTokenResult(user, forceRefresh)

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

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

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
forceRefresh boolean トークンの有効期限に関係なく強制更新します。

戻り値:

Promise<IdTokenResult>

linkWithCredential(user, credential)

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

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

署名:

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

パラメータ

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

戻り値:

Promise<UserCredential>

linkWithPhoneNumber(user, phoneNumber, appVerifier)

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

このメソッドは、Node.js 環境では機能しません。

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
phoneNumber string E.164 形式のユーザーの電話番号(例: +16505550101)。
appVerifier ApplicationVerifier ApplicationVerifier

戻り値:

Promise<ConfirmationResult>

linkWithPopup(user, provider, resolver)

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

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

このメソッドは、Node.js 環境では機能しません。

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
provider AuthProvider 認証するプロバイダ。プロバイダは OAuthProvider である必要があります。OAuth 以外のプロバイダ(EmailAuthProvider など)ではエラーがスローされます。
リゾルバ 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(user, provider, resolver)

ページ全体のリダイレクト フローを使用して、OAuthProvider をユーザー アカウントにリンクします。

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

このメソッドは、Node.js 環境または FirebaseServerApp で作成された Auth インスタンスでは機能しません。

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
provider AuthProvider 認証するプロバイダ。プロバイダは OAuthProvider である必要があります。OAuth 以外のプロバイダ(EmailAuthProvider など)ではエラーがスローされます。
リゾルバ 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);

multiFactor(user)

ユーザーに対応する MultiFactorUser

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

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。

戻り値:

MultiFactorUser

reauthenticateWithCredential(user, credential)

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

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

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

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
証明書 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>;

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
phoneNumber string E.164 形式のユーザーの電話番号(例: +16505550101)。
appVerifier ApplicationVerifier ApplicationVerifier

戻り値:

Promise<ConfirmationResult>

reauthenticateWithPopup(user, provider, resolver)

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

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

このメソッドは、Node.js 環境、または FirebaseServerApp で作成された Auth インスタンスによってログインした User では機能しません。

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
provider AuthProvider 認証するプロバイダ。プロバイダは OAuthProvider である必要があります。OAuth 以外のプロバイダ(EmailAuthProvider など)ではエラーがスローされます。
リゾルバ 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(user, provider, resolver)

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

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

このメソッドは、Node.js 環境または FirebaseServerApp で作成された Auth インスタンスでは機能しません。

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
provider AuthProvider 認証するプロバイダ。プロバイダは OAuthProvider である必要があります。OAuth 以外のプロバイダ(EmailAuthProvider など)ではエラーがスローされます。
リゾルバ 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>;

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。

戻り値:

Promise<void>

sendEmailVerification(user, actionCodeSettings)

ユーザーに確認メールを送信します。

検証プロセスは、applyActionCode() を呼び出して完了します。

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
actionCodeSettings ActionCodeSettings | null ActionCodeSettings

戻り値:

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

パラメータ

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

戻り値:

Promise<User>

updateEmail(user, newEmail)

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

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

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

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
newEmail string 新しいメールアドレス。[メール列挙保護](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)が有効になっていると、「auth/operation-not-allowed」エラーがスローされます。非推奨 - 代わりに verifyBeforeUpdateEmail() を使用してください。

戻り値:

Promise<void>

updatePassword(user, newPassword)

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

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
newPassword string 新しいパスワード。

戻り値:

Promise<void>

updatePhoneNumber(user, credential)

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

このメソッドは、Node.js 環境、または FirebaseServerApp で作成された Auth インスタンスによってログインした User では機能しません。

署名:

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

パラメータ

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

戻り値:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
{ displayName、photoURL: photoUrl } { displayName?: string | null; photoURL?: string | null; }

戻り値:

Promise<void>

verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings)

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

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

カスタムのメール アクション ハンドラがある場合は、applyActionCode() を呼び出して確認プロセスを完了できます。

署名:

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

パラメータ

パラメータ タイプ 説明
ユーザー User ユーザー。
newEmail string 更新前に確認される新しいメールアドレス。
actionCodeSettings ActionCodeSettings | null ActionCodeSettings

戻り値:

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

SDK がスローするエラーを簡単に比較するための Auth エラーコードのマップ。

マップ内の個々のキーをツリー シェイクすることはできないため、マップを使用するとバンドルサイズが大幅に増加する可能性があります。

署名:

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

「NONE」型の 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>;