Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 在nuxt应用程序中使用身份验证信息查询服务器上的firestore_Firebase_Firebase Authentication_Google Cloud Firestore_Nuxt.js - Fatal编程技术网

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

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仍然不知道该用

我计划在Nuxt提供的
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上发布的一个关于同一主题的问题。。。还有这里