Auth interface

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

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

Signature:

export interface Auth 

속성

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

방법

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

Auth.app

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

Signature:

readonly app: FirebaseApp;

Auth.config

이 인스턴스를 초기화하는 데 사용되는 Config입니다.

Signature:

readonly config: Config;

Auth.currentUser

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

Signature:

readonly currentUser: User | null;

Auth.emulatorConfig

현재 에뮬레이터 구성 (또는 null)

Signature:

readonly emulatorConfig: EmulatorConfig | null;

Auth.languageCode

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

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

Signature:

languageCode: string | null;

Auth.name

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

Signature:

readonly name: string;

Auth.settings

Auth 인스턴스의 설정입니다.

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

Signature:

readonly settings: AuthSettings;

Auth.tenantId

Auth 인스턴스의 테넌트 ID

읽기/쓰기가 가능한 속성입니다. Auth 인스턴스의 테넌트 ID를 설정하면 이후의 모든 로그인/가입 작업에서 이 테넌트 ID를 전달하고 지정된 테넌트 프로젝트에 사용자를 로그인하거나 등록합니다. null로 설정하면 사용자가 상위 프로젝트에 로그인됩니다.

Signature:

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일 수 있습니다.

Signature:

authStateReady(): Promise<void>;

반환:

Promise<void>

Auth.beforeAuthStateChanged()

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

Signature:

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

매개변수

매개변수 유형 설명
콜백 (user: User | null) => void | Promise<void> 콜백이 호출됩니다. 이 경우 사용자가 설정되지 못하도록 차단합니다.
onAbort () => void 콜백이 트리거되어 부작용을 실행취소할 수 있도록 나중에 beforeAuthStateChanged() 콜백이 발생할 때 트리거됩니다.

반환:

수신 거부

Auth.onAuthStateChanged()

사용자의 로그인 상태 변경사항을 관찰하는 관찰자를 추가합니다.

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

Signature:

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

매개변수

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

반환:

수신 거부

Auth.onIdTokenChanged()

로그인한 사용자의 ID 토큰 변경사항을 관찰하는 관찰자를 추가합니다.

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

Signature:

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

매개변수

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

반환:

수신 거부

Auth.setPersistence()

Auth 인스턴스의 지속성 유형을 변경합니다.

이렇게 하면 현재 저장된 인증 세션에 영향을 미치며 리디렉션 요청을 사용한 로그인을 포함하여 향후 로그인 요청에 이러한 지속성 유형을 적용합니다.

이렇게 하면 로그인한 사용자가 세션을 기억할지 여부를 쉽게 지정할 수 있습니다. 또한 다른 사용자가 공유하거나 민감한 정보가 있는 애플리케이션에 대해 인증 상태를 절대로 지속하지 않도록 해줍니다.

이 메서드는 Node.js 환경에서 작동하지 않습니다.

Signature:

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

매개변수

매개변수 유형 설명
지속성 지속성 사용할 지속성입니다.

반환:

Promise<void>

auth.setPersistence(browserSessionPersistence);

Auth.signOut()

현재 사용자를 로그아웃시킵니다. 사용자의 ID 토큰은 자동으로 취소되지 않습니다.

이 메서드는 FirebaseServerApp으로 만든 Auth 인스턴스에서 지원되지 않습니다.

Signature:

signOut(): Promise<void>;

반환:

Promise<void>

Auth.updateCurrentUser()

비동기적으로 제공된 사용자를 Auth 인스턴스에서 Auth.currentUser로 설정합니다.

제공된 사용자의 새 인스턴스 사본이 생성되고 currentUser로 설정됩니다.

이렇게 하면 다른 로그인 방법과 마찬가지로 Auth.onAuthStateChanged()Auth.onIdTokenChanged() 리스너가 트리거됩니다.

업데이트할 사용자가 다른 Firebase 프로젝트에 속해 있으면 오류가 발생하고 작업이 실패합니다.

Signature:

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

매개변수

매개변수 유형 설명
사용자 사용자 | null 사용자입니다.

반환:

Promise<void>

Auth.useDeviceLanguage()

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

Signature:

useDeviceLanguage(): void;

반환:

void