繁体   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