Nút đăng xuất javascript
Bạn có thể cho phép người dùng của mình xác thực với Firebase bằng Tài khoản Google của họ. Bạn có thể sử dụng SDK Firebase để thực hiện quy trình đăng nhập bằng Google hoặc thực hiện quy trình đăng nhập theo cách thủ công bằng cách sử dụng thư viện Đăng nhập bằng Google và chuyển mã thông báo ID kết quả cho Firebase Show
Trước khi bắt đầu
Xử lý luồng đăng nhập bằng SDK FirebaseNếu bạn đang xây dựng ứng dụng web, cách dễ nhất để xác thực người dùng của bạn bằng Firebase bằng Tài khoản Google của họ là xử lý luồng đăng nhập bằng SDK JavaScript của Firebase. (Nếu bạn muốn xác thực người dùng trong Node. js hoặc môi trường không có trình duyệt khác, bạn phải xử lý quy trình đăng nhập theo cách thủ công. ) Để xử lý quy trình đăng nhập bằng SDK JavaScript Firebase, hãy làm theo các bước sau
Xử lý lỗi tài khoản tồn tại với thông tin xác thực khác nhauGoogle đóng vai trò vừa là nhà cung cấp email vừa là nhà cung cấp danh tính xã hội. IDP email có thẩm quyền đối với tất cả các địa chỉ email liên quan đến miền email được lưu trữ của họ trong khi IDP xã hội xác nhận danh tính email dựa trên việc xác nhận địa chỉ email một lần. Người dùng đăng nhập bằng Google sẽ không bao giờ gây ra lỗi này khi tài khoản của họ được lưu trữ tại Google ngay cả khi họ đã đăng ký tài khoản bằng mật khẩu hoặc IDP xã hộiNếu bạn đã bật cài đặt Một tài khoản cho mỗi địa chỉ email trong bảng điều khiển Firebase, thì khi người dùng cố đăng nhập vào một nhà cung cấp (chẳng hạn như Google) bằng email đã tồn tại cho nhà cung cấp của người dùng Firebase khác (chẳng hạn như Facebook), sẽ xảy ra lỗi . Để hoàn tất đăng nhập vào nhà cung cấp dự định, trước tiên, người dùng phải đăng nhập vào nhà cung cấp hiện có (Facebook) rồi liên kết với provider.addScope('https://www.googleapis.com/auth/contacts.readonly');9 cũ (mã thông báo Google ID) Chế độ bật lênNếu bạn sử dụng provider.addScope('https://www.googleapis.com/auth/contacts.readonly');5, bạn có thể xử lý lỗi provider.addScope('https://www.googleapis.com/auth/contacts.readonly');8 bằng mã như ví dụ sau var provider = new firebase.auth.GoogleAuthProvider();4 chế độ chuyển hướngLỗi này được xử lý theo cách tương tự trong chế độ chuyển hướng, với điểm khác biệt là thông tin xác thực đang chờ xử lý phải được lưu vào bộ đệm ẩn giữa các lần chuyển hướng trang (ví dụ: sử dụng lưu trữ phiên) Nâng cao. Xử lý quy trình đăng nhập theo cách thủ côngBạn cũng có thể xác thực với Firebase bằng Tài khoản Google bằng cách xử lý quy trình đăng nhập bằng thư viện Đăng nhập bằng Google
Nâng cao. Xác thực với Firebase trong Node. jsĐể xác thực với Firebase trong Nút. ứng dụng js
Xác thực bằng Firebase trong tiện ích mở rộng của ChromeNếu bạn đang xây dựng ứng dụng tiện ích mở rộng của Chrome, bạn phải thêm ID tiện ích mở rộng của Chrome
Chỉ các thao tác bật lên ( provider.addScope('https://www.googleapis.com/auth/contacts.readonly');5, provider.addScope('https://www.googleapis.com/auth/contacts.readonly');4 và provider.addScope('https://www.googleapis.com/auth/contacts.readonly');5) mới khả dụng đối với tiện ích mở rộng của Chrome vì tiện ích mở rộng của Chrome không thể sử dụng chuyển hướng HTTP. Bạn nên gọi các phương thức này từ tập lệnh trang nền thay vì cửa sổ bật lên hành động của trình duyệt, vì cửa sổ bật lên xác thực sẽ hủy cửa sổ bật lên hành động của trình duyệt. Các phương thức bật lên chỉ có thể được sử dụng trong các tiện ích mở rộng bằng Manifest V2. Manifest V3 mới hơn chỉ cho phép các tập lệnh nền ở dạng công nhân dịch vụ, hoàn toàn không thể thực hiện các thao tác bật lên Trong tệp kê khai của tiện ích mở rộng Chrome của bạn, hãy đảm bảo rằng bạn thêm URL provider.addScope('https://www.googleapis.com/auth/contacts.readonly');6 vào danh sách cho phép của provider.addScope('https://www.googleapis.com/auth/contacts.readonly');7 Tùy chỉnh tên miền chuyển hướng cho đăng nhập GoogleKhi tạo dự án, Firebase sẽ cung cấp một miền phụ duy nhất cho dự án của bạn. provider.addScope('https://www.googleapis.com/auth/contacts.readonly');8 Điều này cũng sẽ được sử dụng làm cơ chế chuyển hướng để đăng nhập OAuth. Miền đó sẽ cần được cho phép đối với tất cả các nhà cung cấp OAuth được hỗ trợ. Tuy nhiên, điều này có nghĩa là người dùng có thể thấy miền đó khi đăng nhập vào Google trước khi chuyển hướng trở lại ứng dụng. Tiếp tục. https. // ứng dụng của tôi-12345. firebaseapp. com Để tránh hiển thị miền phụ của bạn, bạn có thể thiết lập miền tùy chỉnh với Dịch vụ lưu trữ Firebase
Bước tiếp theoSau khi người dùng đăng nhập lần đầu tiên, tài khoản người dùng mới được tạo và liên kết với thông tin đăng nhập—nghĩa là tên người dùng và mật khẩu, số điện thoại hoặc thông tin nhà cung cấp xác thực—người dùng đã đăng nhập bằng. Tài khoản mới này được lưu trữ như một phần của dự án Firebase của bạn và có thể được sử dụng để xác định người dùng trên mọi ứng dụng trong dự án của bạn, bất kể người dùng đăng nhập như thế nào
Bạn có thể cho phép người dùng đăng nhập vào ứng dụng của mình bằng nhiều nhà cung cấp xác thực bằng cách liên kết thông tin đăng nhập của nhà cung cấp xác thực với tài khoản người dùng hiện có |