Auth interface

Firebase 인증 서비스를 나타내는 인터페이스입니다.

Firebase 인증 서비스를 사용하는 방법에 대한 전체 가이드는 Firebase 인증을 참조하세요.

서명:

export interface Auth 

속성

속성 유형 설명
app Firebase 앱 Auth 서비스 인스턴스와 연결된 FirebaseApp입니다.
구성 구성 이 인스턴스를 초기화하는 데 사용된 구성입니다.
현재 사용자 사용자 | 없음 현재 로그인한 사용자입니다 (또는 null).
에뮬레이터 구성 EmulatorConfig | 없음 현재 에뮬레이터 구성 (또는 null)입니다.
언어 코드 문자열 | 없음 Auth 인스턴스의 언어 코드입니다.
name 문자열 Auth 서비스 인스턴스와 연결된 앱의 이름입니다.
설정 인증 설정 Auth 인스턴스의 설정
테넌트 ID 문자열 | 없음 Auth 인스턴스의 테넌트 ID.

메소드

메서드 설명
authStateReady()를 호출하여 초기 인증 상태가 해결되면 즉시 확인되는 프로미스를 반환합니다. 프로미스가 해결되면 현재 사용자는 유효한 사용자이거나 null(사용자가 로그아웃한 경우)일 수 있습니다.
beforeAuthStateChanged(callback, onAbort) 인증 상태 변경으로 새 사용자가 설정되기 전에 실행되는 차단 콜백을 추가합니다.
onAuthStateChanged(nextOrObserver, 오류, 완료됨) 사용자의 로그인 상태 변화에 대한 관찰자를 추가합니다.
onIdTokenChanged(nextOrObserver, 오류, 완료됨) 로그인한 사용자의 ID 토큰 변경에 대한 관찰자를 추가합니다.
setPersistence(지속성) Auth 인스턴스의 지속성 유형을 변경합니다.
signOut() 현재 사용자를 로그아웃시킵니다. 이렇게 해도 사용자의 ID 토큰이 자동으로 취소되지는 않습니다.
updateCurrentUser(사용자) 비동기적으로 제공된 사용자를 Auth 인스턴스에서 Auth.currentUser로 설정합니다.
useDeviceLanguage() 현재 언어를 기본 기기/브라우저 환경설정으로 설정합니다.

Auth.app

Auth 서비스 인스턴스와 연결된 FirebaseApp입니다.

서명:

readonly app: FirebaseApp;

Auth.config

이 인스턴스를 초기화하는 데 사용된 구성입니다.

서명:

readonly config: Config;

Auth.현재 사용자

현재 로그인한 사용자입니다 (또는 null).

서명:

readonly currentUser: User | null;

Auth.emulatorConfig

현재 에뮬레이터 구성 (또는 null)입니다.

서명:

readonly emulatorConfig: EmulatorConfig | null;

인증 언어 코드

Auth 인스턴스의 언어 코드입니다.

읽기/쓰기가 가능한 속성입니다. null로 설정하면 기본 Firebase Console 언어 설정이 적용됩니다. 지정된 제공업체가 지정된 언어 코드로 현지화를 지원하는 경우 이메일 작업 템플릿 (비밀번호 재설정, 이메일 인증, 이메일 변경 취소), 전화 인증을 위한 SMS 템플릿, reCAPTCHA 인증기, OAuth 팝업/리디렉션 작업에 언어 코드가 전파됩니다.

서명:

languageCode: string | null;

인증 이름

Auth 서비스 인스턴스와 연결된 앱의 이름입니다.

서명:

readonly name: string;

인증 설정

Auth 인스턴스의 설정

전화 인증을 위한 앱 인증 모드와 같은 구성 관련 옵션을 수정/읽는 데 사용됩니다.

서명:

readonly settings: AuthSettings;

인증.테넌트 ID

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()

초기 인증 상태가 해결되면 즉시 확인되는 프로미스를 반환합니다. 프로미스가 해결되면 현재 사용자는 유효한 사용자이거나 null(사용자가 로그아웃한 경우)일 수 있습니다.

서명:

authStateReady(): Promise<void>;

반환:

프로미스<void>

Auth.beforeAuthStateChanged()

인증 상태 변경으로 새 사용자가 설정되기 전에 실행되는 차단 콜백을 추가합니다.

서명:

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

매개변수

매개변수 유형 설명
콜백 (사용자: 사용자 | null) => 무효 | 프로미스<void> 새 사용자 값이 설정되기 전에 트리거되는 콜백입니다. 이 오류가 발생하면 사용자가 설정되지 않습니다.
onAbort () => 무효 나중에 beforeAuthStateChanged() 콜백이 발생하면 콜백이 트리거되므로 부작용을 실행취소할 수 있습니다.

반환:

수신 거부

Auth.onAuthStateChanged()

사용자의 로그인 상태 변화에 대한 관찰자를 추가합니다.

이전 동작을 유지하려면 Auth.onIdTokenChanged()를 참조하세요.

서명:

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

매개변수

매개변수 유형 설명
NextOrObserver NextOrObserver<사용자 | null> 변경 시 트리거되는 콜백입니다.
오류 ErrorFn 지원 중단되었습니다. 이 콜백은 트리거되지 않습니다. 로그인/로그아웃 시 발생하는 오류는 로그인/로그아웃 함수에서 반환된 프로미스에서 포착할 수 있습니다.
완료됨 CompleteFn 지원 중단되었습니다. 이 콜백은 트리거되지 않습니다.

반환:

수신 거부

Auth.onIdTokenChanged()

로그인한 사용자의 ID 토큰 변경에 대한 관찰자를 추가합니다.

여기에는 로그인, 로그아웃, 토큰 갱신 이벤트가 포함됩니다.

서명:

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

매개변수

매개변수 유형 설명
NextOrObserver NextOrObserver<사용자 | null> 변경 시 트리거되는 콜백입니다.
오류 ErrorFn 지원 중단되었습니다. 이 콜백은 트리거되지 않습니다. 로그인/로그아웃 시 발생하는 오류는 로그인/로그아웃 함수에서 반환된 프로미스에서 포착할 수 있습니다.
완료됨 CompleteFn 지원 중단되었습니다. 이 콜백은 트리거되지 않습니다.

반환:

수신 거부

Auth.setPersistence()

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

매개변수

매개변수 유형 설명
사용자 사용자 | 없음 사용자

반환:

프로미스<void>

Auth.useDeviceLanguage()

현재 언어를 기본 기기/브라우저 환경설정으로 설정합니다.

서명:

useDeviceLanguage(): void;

반환:

void