Auth interface

Giao diện biểu thị dịch vụ Xác thực Firebase.

Xem bài viết Xác thực Firebase để biết hướng dẫn đầy đủ về cách sử dụng dịch vụ Xác thực Firebase.

Chữ ký:

export interface Auth 

Thuộc tính

Tài sản Loại Nội dung mô tả
ứng dụng FirebaseApp FirebaseApp liên kết với thực thể dịch vụ Auth.
cấu hình Cấu hình Config đã dùng để khởi chạy phiên bản này.
currentUser Người dùng | rỗng Người dùng hiện đã đăng nhập (hoặc giá trị rỗng).
emulatorConfig EmulatorConfig | giá trị rỗng Cấu hình trình mô phỏng hiện tại (hoặc giá trị rỗng).
languageCode chuỗi | giá trị rỗng Mã ngôn ngữ của thực thể Auth.
name string Tên của ứng dụng liên kết với thực thể dịch vụ Auth.
cài đặt AuthSettings Chế độ cài đặt của thực thể Auth.
tenantId chuỗi | giá trị rỗng Mã người thuê của thực thể Auth.

Phương thức

Phương thức Nội dung mô tả
authStateReady() trả về một lời hứa sẽ giải quyết ngay lập tức khi trạng thái xác thực ban đầu được thiết lập. Khi lời hứa được giải quyết, người dùng hiện tại có thể là một người dùng hợp lệ hoặc null nếu người dùng đã đăng xuất.
beforeAuthStateChanged(callback, onAbort) Thêm lệnh gọi lại chặn chạy trước khi thay đổi trạng thái xác thực sẽ đặt người dùng mới.
onAuthStateChanged(nextOrObserver, error, completed) Thêm trình quan sát đối với các thay đổi đối với trạng thái đăng nhập của người dùng.
onIdTokenChanged(nextOrObserver, error, completed) Thêm trình quan sát đối với các thay đổi đối với mã thông báo mã nhận dạng của người dùng đã đăng nhập.
setPersistence(persistence) Thay đổi kiểu dữ liệu cố định trên thực thể Auth.
signOut() Đăng xuất người dùng hiện tại. Thao tác này không tự động thu hồi mã thông báo nhận dạng của người dùng.
updateCurrentUser(user) Đặt người dùng được cung cấp là Auth.currentUser một cách không đồng bộ trên thực thể Auth.
useDeviceLanguage() Đặt ngôn ngữ hiện tại thành tuỳ chọn thiết bị/trình duyệt mặc định.

Auth.app

FirebaseApp liên kết với thực thể dịch vụ Auth.

Chữ ký:

readonly app: FirebaseApp;

Auth.config

Config đã dùng để khởi chạy phiên bản này.

Chữ ký:

readonly config: Config;

Auth.currentUser

Người dùng hiện đã đăng nhập (hoặc giá trị rỗng).

Chữ ký:

readonly currentUser: User | null;

Auth.emulatorConfig

Cấu hình trình mô phỏng hiện tại (hoặc giá trị rỗng).

Chữ ký:

readonly emulatorConfig: EmulatorConfig | null;

Auth.languageCode

Mã ngôn ngữ của thực thể Auth.

Đây là thuộc tính có thể đọc/ghi. Khi bạn đặt chính sách này thành rỗng, hệ thống sẽ áp dụng chế độ cài đặt ngôn ngữ mặc định của Bảng điều khiển Firebase. Mã ngôn ngữ sẽ truyền đến các mẫu thao tác qua email (đặt lại mật khẩu, xác minh email và thu hồi thay đổi email), mẫu SMS để xác thực điện thoại, trình xác minh reCAPTCHA và các thao tác bật lên/chuyển hướng OAuth được cung cấp nếu nhà cung cấp được chỉ định hỗ trợ bản địa hoá bằng mã ngôn ngữ được chỉ định.

Chữ ký:

languageCode: string | null;

Auth.name

Tên của ứng dụng liên kết với thực thể dịch vụ Auth.

Chữ ký:

readonly name: string;

Auth.settings

Chế độ cài đặt của thực thể Auth.

Quyền này được dùng để chỉnh sửa/đọc các lựa chọn liên quan đến cấu hình, chẳng hạn như chế độ xác minh ứng dụng để xác thực điện thoại.

Chữ ký:

readonly settings: AuthSettings;

Auth.tenantId

Mã người thuê của thực thể Auth.

Đây là thuộc tính có thể đọc/ghi. Khi bạn đặt mã nhận dạng đối tượng thuê của một thực thể Xác thực, tất cả các hoạt động đăng nhập/đăng ký trong tương lai sẽ chuyển mã nhận dạng đối tượng thuê này và đăng nhập hoặc đăng ký người dùng vào dự án đối tượng thuê được chỉ định. Khi bạn đặt chính sách này thành rỗng, người dùng sẽ đăng nhập vào dự án mẹ.

Chữ ký:

tenantId: string | null;

Ví dụ:

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

trả về một lời hứa sẽ giải quyết ngay lập tức khi trạng thái xác thực ban đầu được thiết lập. Khi lời hứa được giải quyết, người dùng hiện tại có thể là một người dùng hợp lệ hoặc null nếu người dùng đã đăng xuất.

Chữ ký:

authStateReady(): Promise<void>;

Trường hợp trả lại hàng:

Promise<void>

Auth.beforeAuthStateChanged()

Thêm lệnh gọi lại chặn chạy trước khi thay đổi trạng thái xác thực sẽ đặt người dùng mới.

Chữ ký:

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

Tham số

Thông số Loại Nội dung mô tả
số gọi lại (user: User | null) => void | Promise<void> lệnh gọi lại được kích hoạt trước khi đặt giá trị người dùng mới. Nếu hộp thoại này gửi, nó sẽ không cho phép thiết lập người dùng.
onAbort () => trống lệnh gọi lại được kích hoạt nếu lệnh gọi lại beforeAuthStateChanged() sau đó gửi ra, cho phép bạn huỷ mọi tác dụng phụ.

Trường hợp trả lại hàng:

Huỷ đăng ký

Auth.onAuthStateChanged()

Thêm trình quan sát đối với các thay đổi đối với trạng thái đăng nhập của người dùng.

Để giữ lại hành vi cũ, hãy xem Auth.onIdTokenChanged().

Chữ ký:

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

Tham số

Thông số Loại Nội dung mô tả
nextOrObserver NextOrObserver<User | null> lệnh gọi lại được kích hoạt khi thay đổi.
error ErrorFn Không dùng nữa. Lệnh gọi lại này không bao giờ được kích hoạt. Lỗi khi đăng nhập/đăng xuất có thể mắc phải trong những lời hứa trả về từ các hàm đăng nhập/đăng xuất.
đã hoàn tất CompleteFn Không dùng nữa. Lệnh gọi lại này không bao giờ được kích hoạt.

Trường hợp trả lại hàng:

Huỷ đăng ký

Auth.onIdTokenChanged()

Thêm trình quan sát đối với các thay đổi đối với mã thông báo mã nhận dạng của người dùng đã đăng nhập.

Điều này bao gồm các sự kiện đăng nhập, đăng xuất và làm mới mã thông báo.

Chữ ký:

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

Tham số

Thông số Loại Nội dung mô tả
nextOrObserver NextOrObserver<User | null> lệnh gọi lại được kích hoạt khi thay đổi.
error ErrorFn Không dùng nữa. Lệnh gọi lại này không bao giờ được kích hoạt. Lỗi khi đăng nhập/đăng xuất có thể mắc phải trong những lời hứa trả về từ các hàm đăng nhập/đăng xuất.
đã hoàn tất CompleteFn Không dùng nữa. Lệnh gọi lại này không bao giờ được kích hoạt.

Trường hợp trả lại hàng:

Huỷ đăng ký

Auth.setPersistence()

Thay đổi kiểu dữ liệu cố định trên thực thể Auth.

Thao tác này sẽ ảnh hưởng đến phiên Xác thực hiện đã lưu và áp dụng kiểu dữ liệu cố định này cho các yêu cầu đăng nhập sau này, bao gồm cả hoạt động đăng nhập bằng yêu cầu chuyển hướng.

Tính năng này giúp người dùng đăng nhập dễ dàng chỉ định xem có nên ghi nhớ phiên của mình hay không. Điều này cũng giúp bạn dễ dàng không bao giờ duy trì trạng thái Xác thực cho các ứng dụng được người dùng khác chia sẻ hoặc có dữ liệu nhạy cảm.

Phương thức này không hoạt động trong môi trường Node.js.

Chữ ký:

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

Tham số

Thông số Loại Nội dung mô tả
bền bỉ Khả năng duy trì lâu dài Giá trị cố định (Persistence) để sử dụng.

Trường hợp trả lại hàng:

Promise<void>

Ví dụ:

auth.setPersistence(browserSessionPersistence);

Auth.signOut()

Đăng xuất người dùng hiện tại. Thao tác này không tự động thu hồi mã thông báo nhận dạng của người dùng.

Các thực thể Auth được tạo bằng FirebaseServerApp không hỗ trợ phương thức này.

Chữ ký:

signOut(): Promise<void>;

Trường hợp trả lại hàng:

Promise<void>

Auth.updateCurrentUser()

Đặt người dùng được cung cấp là Auth.currentUser một cách không đồng bộ trên thực thể Auth.

Một bản sao mới của người dùng đã cung cấp sẽ được tạo và đặt làm currentUser.

Thao tác này sẽ kích hoạt trình nghe Auth.onAuthStateChanged()Auth.onIdTokenChanged() như các phương thức đăng nhập khác.

Thao tác sẽ không thực hiện được và sẽ xảy ra lỗi nếu người dùng được cập nhật thuộc về một dự án Firebase khác.

Chữ ký:

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

Tham số

Thông số Loại Nội dung mô tả
người dùng Người dùng | rỗng Người dùng mới .

Trường hợp trả lại hàng:

Promise<void>

Auth.useDeviceLanguage()

Đặt ngôn ngữ hiện tại thành tuỳ chọn thiết bị/trình duyệt mặc định.

Chữ ký:

useDeviceLanguage(): void;

Trường hợp trả lại hàng:

void