簡體   English   中英

前后端訪問相同的firebase用戶

[英]Access same firebase user from front and backend

我試圖了解如何在我的后端服務器中繼續用戶 session 啟動的客戶端。

我為我的客戶端應用程序使用NextJS ,為后端 api 調用使用 go Gin

我有一些客戶端代碼允許用戶使用 firebase 身份驗證登錄:

import { getAuth, signInWithRedirect, GoogleAuthProvider } from 'firebase/auth'

export default function Login() {
  const provider = new GoogleAuthProvider()
  const auth = getAuth()

  return (
    <div>
      <ul>
        <li>
          <button onClick={() => signInWithRedirect(auth, provider)}>Sign In With Google</button>
        </li>
      </ul>
    </div>
  )
}

這很棒,而且我的工作量很小。 一旦用戶單擊按鈕並按照登錄說明進行操作,我的客戶端應用程序就會了解他們正在使用 firebase 庫的用戶。

現在我想以當前用戶身份向我的 go gin 后端發出請求。 如何以登錄到我的客戶端應用程序的用戶身份繼續我的后端代碼中的 session? 理想情況下,我將能夠:

  1. user123登錄客戶端應用程序。
  2. 向我的后端發出請求。
  3. 我的后端知道請求來自我的客戶端user123
  4. 我的后端以 user123 身份向其他user123服務發出一些請求,例如創建或更新 Firestore 文檔。

我不確定 go 如何執行 #3。 這似乎很常見,我正在積極研究我需要做什么。 如果可以的話,我會回答我自己的問題,但我們將不勝感激任何建議。

您需要將用戶的 ID 令牌從客戶端傳遞到服務器,然后服務器可以驗證 ID 令牌並根據此確定用戶是否已獲得授權。

但是沒有辦法在調用 Firebase 時從您的服務器模擬該用戶。因此您必須自己進行授權檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM