小编Jam*_*mes的帖子

SvelteKit:如何从服务器访问 Firebase 身份验证状态

我正在一个可读存储中管理身份验证状态,该存储与一个承诺分组,该承诺在身份验证状态已知(登录或注销)时解析。该商店是通过内部设置的onAuthStateChange

我正在尝试从服务器(+layout.server.ts+page.server.ts)访问此身份验证状态,以便在未通过身份验证的情况下将用户重定向到登录页面,或者在(且仅当)经过身份验证时从数据库加载数据。无论我尝试什么,每当我从服务器访问此存储时,它的值始终为空。我认为这是因为 Firebase 只应该在客户端上运行,尽管我不确定。有什么方法可以从服务器访问此存储,或者更改我的实现,以便 Firebase 在服务器中运行并将身份验证状态传递给客户端?这篇博文几乎准确地解释了我想要做的事情,但这里的解决方案似乎比需要的更复杂。

我尝试将 Firebase 初始化代码移动到服务器(在 和 中hooks.server.ts+layout.server.ts,但是我无法将 auth 对象传递给客户端,因为它无法序列化(当我尝试返回时,我收到一个错误解释这一点它来自 ) 中的加载函数+page.server.ts。我还尝试仅使用客户端代码处理身份验证,但服务器负责从数据库加载数据,因此在这种情况下,我无法从服务器验证有效的身份验证状态。

firebase svelte sveltekit

7
推荐指数
1
解决办法
1527
查看次数

标签 统计

firebase ×1

svelte ×1

sveltekit ×1