使用Firebase Auth代表用户对无头设备进行身份验证

时间:2020-09-16 09:28:56

标签: firebase firebase-authentication

让我们从一个例子开始。

有些设备只能从Firebase Cloud Storage上传/下载图像。
用户可以对所有Firebase产品(存储,Firebase,ML,分析等)进行任何操作。

设备一次只能由一个用户拥有。
device 是某种无头机器(例如Arduino或RaspberryPi)。
用户只能登录一次Web应用程序(不托管在设备中)。然后,他们选择一个设备进行管理。该配对存储在某个地方(例如Firestore)。
现在,设备可以代表该用户自动(例如,使用cron作业)上载/下载图像(例如,将文件放入以用户命名的文件夹中),而无需提示进一步登录(请记住这是无头的)机器:没有键盘,没有屏幕,完全没有UI。
用户打开我的应用信息中心时,他们可以查看由其设备上传的图像。当然,他们不能查看由“其他”设备上传的图像。

我被Firebase Admin Auth机制困住了。
Firebase如何知道设备已通过身份验证/授权并代表特定用户运行?
我想我必须在用户和设备之间传递令牌。但是令牌已过期,设备无法自动重新登录,也无法显示用于登录的用户界面。
另外,即使您可以将到期日期延长到无限(即不到期),我认为这也会带来安全风险,因为有人可能会窃取令牌并在没有进一步控制的情况下像该用户那样行事。

请注意,我是Cloud和Auth原理的新手,所以我们将不胜感激。

0 个答案:

没有答案