Google隐式帐户未链接任何代币交易

时间:2019-03-19 14:02:58

标签: firebase firebase-authentication google-cloud-firestore account-linking

为了实现使用带有电子邮件/密码的Google身份验证的Google Firestore数据库与用户的Google帐户(例如在Google设备上的“操作”上)之间的帐户链接,我正在尝试实现Google的隐式帐户链接流程如此处所述:

https://developers.google.com/actions/identity/google-sign-in-oauth?creation=no

在控制台上,我提供了一个授权URL和一个用于令牌交换的URL。

enter image description here

授权URL打开Web登录。在此屏幕上-当用户使用电子邮件/密码成功登录Firebase时-我根据用户ID创建令牌,并将其交给提供的重定向URL,包括文档中所述的状态和令牌类型:

https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID#access_token=ACCESS_TOKEN&token_type=bearer&state=STATE_STRING

到目前为止,这似乎工作正常,关闭了登录屏幕,从此刻起,我的帐户被视为已关联,并且所有Google助手请求都包含了我提供的此令牌。

但是我不明白,接下来该怎么做。据我了解,文档一旦链接到帐户,就应该调用令牌交换端点,以使用访问和/或刷新令牌以及其他用户信息交换此自定义令牌。为了查看交换端点处的传入请求,我提供了一个简单的脚本,如下所示:

exports.exchangeToken = functions.https.onRequest((req, res) => {
  console.log(JSON.stringify(req.headers))
  res.send(JSON.stringify(req.headers))
}

但是根据日志,它永远不会被调用。相反,我在DialogFlow的实现部分配置的Webhook被直接调用。 在实现被调用之前,我缺少什么来启动令牌交换并获取我的firebase项目的用户ID?

0 个答案:

没有答案