我可以使用pipe理身份validationAPI手动在Firebase中创build联合用户吗?

我有一个使用Firebase构build的Web应用程序。 在我的networking应用程序中,我有谷歌,firebase,叽叽喳喳注册/loginfunction。

现在我想把这个和我的api.ai代理整合起来,并且有一个无缝的账户链接。 因此,用户将使用他们从移动设备的googel Home / assistant应用程序连接到我的代理。 在这个阶段,我将拥有Google帐户Id,Google电子邮件地址,用户名称。

如果用户已经存在,我可以发送代理所需的令牌。 但是,如果用户是新的,我想在我的firebase数据库中创build帐户。 我无法find手动(从nodejs应用程序/云function)在Firebase中创build联合帐户的可能性!

我知道有可能创build一个电子邮件+虚拟密码帐户,但这不是我所期待的。 因为用户在尝试login我的networking应用程序时使用虚拟密码进行了注册,所以会使用他们的Googleloginfunction。

如果我创build电子邮件和虚拟密码,stream量不好,我强迫用户更改密码,并再次链接到他们的谷歌帐户,当他们来到我的networking频道!

有CLI方法,我可以从文件中导入用户 。 如果这是一个可能有人可以请帮我我怎么能做到这一点在云function?

       

网上收集的解决方案 "我可以使用pipe理身份validationAPI手动在Firebase中创build联合用户吗?"

这不是问题的完整答案

基于firebase 工具导入选项,我创build了一个细化的要点,使用它我能够触发从云function导入。 我唯一遇到的问题是我必须通过承载访问令牌来执行操作的地方。

到目前为止,我已经短路了import/api.jsgetAccessToken方法。 这是我需要从Firebase团队获得帮助直接访问Firebasepipe理员的访问令牌的地方,或者是在云请求发出请求时绕过支票!

 getAccessToken: function() { return Promise.resolve({access_token: accessToken}); // return accessToken ? RSVP.resolve({access_token: accessToken}) : require('./auth').getAccessToken(refreshToken, commandScopes); }, 

在上面的函数中,注释代码实际上是从CLI工具执行accessToken获取用户获取的正在运行的accessToken 。 作为一个命令行实用程序,要求用户获得权限是可行的,但是在云端function中运行时,应该是以下选项之一:

a)当云端function在pipe理员特权内执行时,忽略权限! b)或者提供从pipe理SDK直接获取访问令牌的方法。

github的主旨在这里 。 我从Firebase工具项目中拿走了大部分,并调整了一下,以便能够在CloudFunctions中工作。 我试图尽可能从firebase工具中提取最less的代码。

当我运行这个时,我得到的错误在35行lib/import/api.js

 <<< HTTP RESPONSE BODY { "error":{ "errors":[ { "domain":"global", "reason":"authError", "message":"Invalid Credentials", "locationType":"header", "location":"Authorization" } ], "code":401, "message":"Invalid Credentials" } }