从前端和后端访问同一个firebase用户



我正在努力了解如何在后端服务器中继续用户会话启动的客户端。

我的客户端应用程序使用NextJS,后端api调用使用Gin

我有一些客户端代码,允许用户使用firebase auth:登录

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后端发出请求。作为登录到我的客户端应用程序的用户,我如何在后端代码中继续会话?理想情况下,我能够:

  1. user123的身份登录客户端应用程序
  2. 向我的后端发出请求
  3. 我的后端了解到该请求来自我的客户端user123
  4. 我的后端以user123的形式向其他firebase服务发出一些请求,比如创建或更新Firestore文档

我不知道如何做#3。这似乎是一件常见的事情,我正在积极研究我需要做什么。如果可以的话,我会回答我自己的问题,但任何建议都很感激。

您需要将用户的ID令牌从客户端传递到服务器,然后服务器可以验证ID令牌,并在此基础上确定用户是否获得授权。

但是,在对Firebase的调用中,无法从服务器模拟该用户。所以你必须自己做授权检查。

相关内容

  • 没有找到相关文章

最新更新