在nuxt应用程序中使用身份验证信息查询服务器上的Firestore

时间:2018-12-30 04:27:57

标签: firebase firebase-authentication google-cloud-firestore nuxt.js

我计划在Nuxt提供的fetch()方法中从Firestore查询一些数据,然后将其发送到商店。问题在于查询需要Firebase Auth信息(Firestore规则更为精确),并且afaik将尚未连接Firebase Auth或已加载活动用户,因为这是在客户端发生的。因此,这意味着查询将没有身份验证信息?我将如何解决这个问题?我环顾四周,发现您可以使用Cookie来存储Firebase身份ID,然后在存储区的nuxtServerInit()中,加载用户并获取正确的uid,依此类推,但是Firebase仍然不了解用户并且我还没有找到使用cookie中的ID将用户加载到服务器端的Firebase Auth中的方法。

任何帮助将不胜感激! (我发布的内容非常混乱,但希望你们能理解要点)

我使用Google作为登录提供商没有任何帮助。

更新:

我做了一些挖掘,发现成功登录后,您可以从idToken中获取accessTokenAuthCredential。我认为您可以将它们存储在cookie,然后使用signInWithCredential()在服务器上登录用户,并使用cookie中的令牌传递可以使用GoogleAuthProvider创建的新GoogleAuthProvider.credential(idToken, accessToken)

同样,我不确定这样做是否安全或正确的方法,但是我认为它至少应该起作用,因为现在Firebase现在将已经在服务器端与用户有关,因此对Firestore的调用应该是no有关身份验证信息的问题。

我目前无法对此进行测试,但是对此有一些想法,谢谢!

仍然无法测试,但希望有人对此进行思考。

0 个答案:

没有答案