为了实现使用带有电子邮件/密码的Google身份验证的Google Firestore数据库与用户的Google帐户(例如在Google设备上的“操作”上)之间的帐户链接,我正在尝试实现Google的隐式帐户链接流程如此处所述:
https://developers.google.com/actions/identity/google-sign-in-oauth?creation=no
在控制台上,我提供了一个授权URL和一个用于令牌交换的URL。
授权URL打开Web登录。在此屏幕上-当用户使用电子邮件/密码成功登录Firebase时-我根据用户ID创建令牌,并将其交给提供的重定向URL,包括文档中所述的状态和令牌类型:
到目前为止,这似乎工作正常,关闭了登录屏幕,从此刻起,我的帐户被视为已关联,并且所有Google助手请求都包含了我提供的此令牌。
但是我不明白,接下来该怎么做。据我了解,文档一旦链接到帐户,就应该调用令牌交换端点,以使用访问和/或刷新令牌以及其他用户信息交换此自定义令牌。为了查看交换端点处的传入请求,我提供了一个简单的脚本,如下所示:
exports.exchangeToken = functions.https.onRequest((req, res) => {
console.log(JSON.stringify(req.headers))
res.send(JSON.stringify(req.headers))
}
但是根据日志,它永远不会被调用。相反,我在DialogFlow的实现部分配置的Webhook被直接调用。 在实现被调用之前,我缺少什么来启动令牌交换并获取我的firebase项目的用户ID?