您可以透過以下方式整合 Firebase Authentication 與自訂驗證系統: 修改您的驗證伺服器,以便在使用者 才能成功登入應用程式接收這個權杖,並使用該權杖進行驗證 掌握實用知識
事前準備
- 將 Firebase 新增至您的 JavaScript 專案。
- 取得專案的伺服器金鑰:
- 前往服務帳戶頁面 頁面設定
- 按一下底部的「產生新私密金鑰」。 「服務帳戶」頁面的「Firebase Admin SDK」區段。
- 系統會自動建立新的服務帳戶的公開/私密金鑰組 就會儲存到您的電腦中。將此檔案複製到您的驗證伺服器。
透過 Firebase 驗證
- 使用者登入應用程式時,請將登入憑證 例如他們的使用者名稱和密碼)。您的 伺服器檢查憑證並傳回 自訂 權杖。
- 從驗證伺服器收到自訂權杖後,請將
將其登入
signInWithCustomToken
以便登入使用者:Web
import { getAuth, signInWithCustomToken } from "firebase/auth"; const auth = getAuth(); signInWithCustomToken(auth, token) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // ... });
Web
firebase.auth().signInWithCustomToken(token) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // ... });
後續步驟
使用者首次登入後,系統會建立新的使用者帳戶 也就是使用者的名稱和密碼 號碼或驗證提供者資訊,也就是使用者登入時使用的網址。這項新功能 帳戶儲存為 Firebase 專案的一部分,可用來識別 即可限制使用者登入專案中的所有應用程式
-
在應用程式中得知使用者的驗證狀態,建議做法是 在
Auth
物件上設定觀察器。接著,您就能取得使用者的User
物件的基本個人資料資訊。詳情請見 管理使用者。 在你的Firebase Realtime Database和Cloud Storage中 查看安全性規則 透過
auth
變數取得已登入使用者的不重複使用者 ID。 控管使用者可以存取的資料
您可以讓使用者透過多重驗證機制登入您的應用程式 將驗證供應商憑證連結至 現有的使用者帳戶
如要登出使用者,請呼叫
signOut
:
Web
import { getAuth, signOut } from "firebase/auth"; const auth = getAuth(); signOut(auth).then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });
Web
firebase.auth().signOut().then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });