【问题标题】:How can I access user data stored in Firebase using Google Assistant?如何使用 Google Assistant 访问存储在 Firebase 中的用户数据?
【发布时间】:2018-04-12 22:36:41
【问题描述】:

我有一些用户数据存储在 Firebase 中的 users/userID/data

我正在使用 Dialogflow 来识别例如以下意图:

retrieve my email

触发 webhook 并作为参数 email 传递,这是用户想要检索的数据。如何传递 Firebase 用户 ID?我想我需要为 Google 助理实现某种日志记录,但我找不到如何将 Firebase 用户帐户链接到 google 操作以及如何获得这个 firebase 用户 ID

是否有实现此目的的标准或推荐方法?

【问题讨论】:

    标签: firebase actions-on-google dialogflow-es


    【解决方案1】:

    目前没有针对此问题的预构建解决方案。

    您需要使用 Google 助理实施Account Linking。这样做是为了给您和您的用户提供最大的灵活性。您将能够使用多种方法对他们进行身份验证,而不仅仅是 Google 身份验证,并且用户可以为您使用可能与他们用于 Google 助理的身份不同的 Google 身份。帐户关联会关联他们,而不会向您透露他们在 Google 助理上使用的帐户。

    这意味着创建一个 OAuth 服务器,让用户可以使用他们的 Firebase 帐户登录并向 Google 助理发放令牌。在创建 OAuth 服务器时,Google 确实提供了有关 procedure you should follow 的一些信息,您应该能够使用 Firebase 托管和 Firebase Cloud Functions 来创建它。

    然后,每次 Google 助理调用您的操作时,它都会将令牌发回给您。您将使用此令牌来确定 Firebase 用户 ID,然后可以在数据库中查找它们。

    【讨论】:

    • 所以这个 OAuth 服务器会将生成的令牌链接到 Firebase 用户 ID?您知道有关我如何实现该功能的任何资源吗?非常感谢您的回答!
    • 是否可以使用 Cloud Functions for Firebase 来实现它?
    • 另外,当他们使用 google 帐户登录 firebase 时会发生什么?是不是多余的?
    • Answer 已更新,为您提供了指向 Google 的 OAuth 实施指南的链接,确认您可以使用 Firebase Cloud Functions(我有)执行此操作,以及为什么这样做而不是仅使用他们的 Google 帐户。
    猜你喜欢
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2019-01-14
    • 2019-06-12
    • 2019-02-05
    • 2019-04-16
    • 1970-01-01
    相关资源
    最近更新 更多