[英]How to persist the Firebase Auth state between front-end and backend ? (Firebase Auth + React + Express)
[英]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? 理想情况下,我将能够:
user123
登录客户端应用程序。user123
。user123
服务发出一些请求,例如创建或更新 Firestore 文档。我不确定 go 如何执行 #3。 这似乎很常见,我正在积极研究我需要做什么。 如果可以的话,我会回答我自己的问题,但我们将不胜感激任何建议。
您需要将用户的 ID 令牌从客户端传递到服务器,然后服务器可以验证 ID 令牌并根据此确定用户是否已获得授权。
但是没有办法在调用 Firebase 时从您的服务器模拟该用户。因此您必须自己进行授权检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.