【问题标题】:Authenticate IoT Appliance Using Firebase Auth使用 Firebase Auth 对 IoT 设备进行身份验证
【发布时间】:2019-01-20 12:39:43
【问题描述】:

我不知道如何验证我的 IoT 设备以调用我使用 Firebase Auth 编写的 Google Cloud App Engine API。

我们目前通过使用 Firebase 身份验证令牌的浏览器应用来执行此操作。我们使用用户名和密码发出令牌,然后在会话期间使用该令牌从我们的浏览器应用程序访问 API。

这并不能很好地转化为我们的 IoT 设备,因为没有用户名/密码 - 所以我们认为我们需要使用 Firebase 自定义令牌。不幸的是,这些令牌每小时都会过期 - 所以我们需要使用 Firebase Auth API 来自动更新令牌 - 我们认为这是基于文档的工作方式。

我们的一个限制是,此设备没有任何用户体验,而是需要能够随时重新启动并通过检索新令牌与服务器重新建立其真实性。

我很难找到如何做到这一点的示例 - 我希望有人可以给我一个简单的示例或一些明确的指示,说明如何在设备开启并建立时保持身份验证令牌最新如果它需要重新启动一个新的。

谢谢!

【问题讨论】:

    标签: firebase firebase-authentication iot


    【解决方案1】:

    您是否将 Cloud IoT Core 视为一种选择?它无需用户/通行证(使用 JWT)即可为您处理身份验证,专为物联网而设计。快速的云函数可以非常轻松地将遥测数据导入 Firebase/Firestore。

    另一种选择是创建一个有权写入 AppEngine 的服务帐户。查看此链接:https://cloud.google.com/docs/authentication/getting-started,了解有关如何使用服务帐户进行身份验证的一些文档。

    【讨论】:

    • 感谢您的建议。我们有一些定义明确且复杂的 API,如果可能的话,我们不希望在 Google Cloud Function 下重写它们。我们的 REST API 使用结构良好的 MVC 架构 - 因此理论上我们可以从 GCF 的不同“视图”调用控制器。我必须做一个影响分析,看看需要做些什么来完成这项工作。感谢您的建议!
    • 当然!您还可以查看 Cloud Project 下的 IAM 控件以获取服务 json 帐户设置,您可以将其用作不记名令牌 (service_account.json) 以授予对 Google Cloud App Engine 的访问权限。同样,没有用户/通行证,但您无法获得使用 IoT Core 的所有安全通信优势。
    • 感谢您的意见。是的,当我看东西时,我认为这是对我们所处的位置最有意义的方法(服务帐户)——我们的边缘设备是运行 python 程序的 Linux SBC——所以如果我理解正确,我可以使用 python 客户端库使用服务帐户令牌进行调用。我将继续寻找一个我可以实现的示例(抱歉,我一直在努力通过阅读文档来实现它)。再次感谢!
    • 当然!乐意效劳。我将编辑评论以包括其他人也可以找到的 IAM/服务帐户选项。
    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 2017-03-11
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多