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