Firebase 在nuxt应用程序中使用身份验证信息查询服务器上的firestore
我计划在Nuxt提供的Firebase 在nuxt应用程序中使用身份验证信息查询服务器上的firestore,firebase,firebase-authentication,google-cloud-firestore,nuxt.js,Firebase,Firebase Authentication,Google Cloud Firestore,Nuxt.js,我计划在Nuxt提供的fetch()方法中从Firestore查询一些数据,然后将其发送到存储。问题在于,查询需要Firebase身份验证信息(Firestore规则更精确),而afaik将不会连接Firebase身份验证,或者在客户端加载活动用户。那么这意味着查询没有身份验证信息?我该如何着手解决这个问题?我环顾四周,发现您可以使用cookies存储Firebase身份验证id,然后在存储中的nuxtServerInit()中加载用户并获取正确的uid,等等,但是Firebase仍然不知道该用
fetch()
方法中从Firestore查询一些数据,然后将其发送到存储。问题在于,查询需要Firebase身份验证信息(Firestore规则更精确),而afaik将不会连接Firebase身份验证,或者在客户端加载活动用户。那么这意味着查询没有身份验证信息?我该如何着手解决这个问题?我环顾四周,发现您可以使用cookies存储Firebase身份验证id,然后在存储中的nuxtServerInit()
中加载用户并获取正确的uid,等等,但是Firebase仍然不知道该用户,而且我还没有找到使用cookie中的id在服务器端将该用户加载到Firebase Auth中的方法
任何帮助都将不胜感激!(我发布的这篇文章很混乱,但希望你们能理解要点)
毫无价值,我正在使用谷歌作为登录提供商
更新:
我做了一些挖掘,发现您可以从成功登录后返回的AuthCredential
获取idToken
和accessToken
。我认为您可以将它们存储在cookie中,然后使用signInWithCredential()
在服务器上登录用户,并传递一个新的GoogleAuthProvider
,您可以使用cookie中的令牌创建该新的GoogleAuthProvider.credential(idToken,accessToken)
同样,我不确定这样做是否安全或正确,但我认为它至少应该起作用,因为现在Firebase将关注已经在服务器端的用户,因此调用Firestore对身份验证信息没有问题
我现在不能测试这个,但是一些想法会很好,谢谢
仍然无法测试它,但希望有人对此有想法 我也在做类似的事情。使用您建议的解决方案,您将如何从nuxt服务器访问存储的cookie信息?我认为你是正确的,你还需要登录服务器。我已经使用了官方的nuxt firebase模块,但是,当您需要访问当前的用户服务器端时,事情就变成了实验性的。。。这是我在github上发布的一个关于同一主题的问题。。。还有这里