Auth interface

Firebase Auth サービスを表すインターフェース。

Firebase Auth サービスの使用方法については、Firebase Authentication をご覧ください。

署名:

export interface Auth 

プロパティ

プロパティ 説明
アプリ FirebaseApp Auth サービス インスタンスに関連付けられている FirebaseApp
config 構成 このインスタンスの初期化に使用される構成
現在のユーザー ユーザー |null 現在ログインしているユーザー(または null)。
emulatorConfig EmulatorConfig |null 現在のエミュレータ設定(または null)。
languageCode 文字列 |null Auth インスタンスの言語コード。
name 文字列 Auth サービス インスタンスに関連付けられているアプリの名前。
設定 認証設定 Auth インスタンスの設定。
tenantId 文字列 |null Auth インスタンスのテナント ID。

メソッド

メソッド 説明
authStateReady() 最初の認証状態が解決されるとすぐに解決される Promise を返します。Promise が解決されると、現在のユーザーは有効なユーザーになり、ユーザーがログアウトした場合は null になります。
beforeAuthStateChanged(callback, onAbort) 認証状態の変化によって新規ユーザーが設定される前に実行されるブロッキング コールバックを追加します。
onAuthStateChanged(nextOrObserver, error, complete) ユーザーのログイン状態の変更に関するオブザーバーを追加します。
onIdTokenChanged(nextOrObserver, error, complete) ログイン ユーザーの ID トークンの変更についてオブザーバーを追加します。
setPersistence(persistence) Auth インスタンスでの永続性のタイプを変更します。
signOut() 現在のユーザーをログアウトします。この操作を行っても、ユーザーの ID トークンが自動的に取り消されることはありません。
updateCurrentUser(user) 指定されたユーザーを Auth インスタンスで Auth.currentUser として非同期に設定します。
useDeviceLanguage() 現在の言語をデバイスまたはブラウザのデフォルトの設定に設定します。

Auth.app

Auth サービス インスタンスに関連付けられている FirebaseApp

署名:

readonly app: FirebaseApp;

Auth.config

このインスタンスの初期化に使用される構成

署名:

readonly config: Config;

Auth.currentUser

現在ログインしているユーザー(または null)。

署名:

readonly currentUser: User | null;

Auth.emulatorConfig

現在のエミュレータ設定(または null)。

署名:

readonly emulatorConfig: EmulatorConfig | null;

Auth.languageCode

Auth インスタンスの言語コード。

これは読み取り/書き込み可能なプロパティです。null に設定すると、Firebase コンソールのデフォルトの言語設定が適用されます。指定したプロバイダが指定された言語コードでのローカライズをサポートしている場合、言語コードはメール アクション テンプレート(パスワードのリセット、メールの確認、メール変更の取り消し)、電話認証用の SMS テンプレート、reCAPTCHA 検証ツール、OAuth ポップアップ/リダイレクト操作に反映されます。

署名:

languageCode: string | null;

認証名

Auth サービス インスタンスに関連付けられているアプリの名前。

署名:

readonly name: string;

Auth.settings

Auth インスタンスの設定。

電話認証のアプリ確認モードなど、設定関連のオプションの編集と読み取りに使用されます。

署名:

readonly settings: AuthSettings;

Auth.tenantId

Auth インスタンスのテナント ID。

これは読み取り/書き込み可能なプロパティです。Auth インスタンスのテナント ID を設定すると、以降のすべてのログイン/登録オペレーションでこのテナント ID が渡され、指定したテナント プロジェクトにユーザーのログインまたは登録が行われます。null に設定すると、ユーザーは親プロジェクトにログインします。

署名:

tenantId: string | null;

// Set the tenant ID on Auth instance.
auth.tenantId = 'TENANT_PROJECT_ID';

// All future sign-in request now include tenant ID.
const result = await signInWithEmailAndPassword(auth, email, password);
// result.user.tenantId should be 'TENANT_PROJECT_ID'.

Auth.authStateReady()

最初の認証状態が解決されるとすぐに解決される Promise を返します。Promise が解決されると、現在のユーザーは有効なユーザーになり、ユーザーがログアウトした場合は null になります。

署名:

authStateReady(): Promise<void>;

戻り値:

約束 <void>

Auth.beforeAuthStateChanged()

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

署名:

beforeAuthStateChanged(callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;

パラメータ

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

戻り値:

配信停止

Auth.onAuthStateChanged()

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

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

署名:

onAuthStateChanged(nextOrObserver: NextOrObserver<User | null>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

パラメータ

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

戻り値:

配信停止

Auth.onIdTokenChanged()

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

これには、ログイン、ログアウト、トークン更新イベントが含まれます。

署名:

onIdTokenChanged(nextOrObserver: NextOrObserver<User | null>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

パラメータ

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

戻り値:

配信停止

Auth.setPersistence()

Auth インスタンスでの永続性のタイプを変更します。

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

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

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

署名:

setPersistence(persistence: Persistence): Promise<void>;

パラメータ

パラメータ 説明
永続性は 永続性 使用する永続性

戻り値:

約束 <void>

auth.setPersistence(browserSessionPersistence);

Auth.signOut()

現在のユーザーをログアウトします。この操作を行っても、ユーザーの ID トークンが自動的に取り消されることはありません。

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

署名:

signOut(): Promise<void>;

戻り値:

約束 <void>

Auth.updateCurrentUser()

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

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

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

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

署名:

updateCurrentUser(user: User | null): Promise<void>;

パラメータ

パラメータ 説明
ユーザー ユーザー |null 新しいユーザー

戻り値:

約束 <void>

Auth.useDeviceLanguage()

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

署名:

useDeviceLanguage(): void;

戻り値:

void