目前,我正在尝试为AppCheck
使用自定义提供程序,根据documentation,此实现可用于验证当前允许的其他平台,更具体地说:
- 您希望使用Apple、Android和Web以外的平台验证设备。例如,您可以为桌面操作系统或物联网设备创建App Check提供程序。
现在,由于当前支持AppCheck
的SDK是Node.js
,我的问题是:
- 如何为不允许的平台创建自定义AppCheck提供程序以生成令牌?
更具体地说,我正在尝试为非Google Android手机实现AppCheck
,HarmonyOS
。
但是,Node.js
SDK目前有一种方法可以使用:createToken(appId:字符串,选项?:AppCheckTokenOptions),我应该从这里提供一个appId
,其中这个值是由Firebase在注册新应用时生成的:
在这种情况下,应用程序平台与Firebase
(Android,iOS,Web等)兼容。我可以注册Google Android手机,但不能注册IoT设备、HarmonyOS手机、Tizen电视等。
如何生成一个新的appId
,或者在这些情况下如何使用createToken(...)
方法?此外,AppCheck的REST API
documentation需要appId
。
编辑:
我已经测试了使用相同的appId
从谷歌手机注册在控制台为非谷歌手机和令牌可以与强制Firebase
保护的服务使用,它的工作原理。
此外,在控制台中将从非Google手机生成的调试令牌添加到注册的Google手机中,它可以工作,Firebase
传递请求并接收响应。但我认为这是不好的,因为一个非谷歌手机冒充注册谷歌手机。
1条答案
按热度按时间f4t66c6m1#
我是这样理解的。
createToken()
确实需要有效的appId
,但appId
不需要用于Android;它可以是Web、Unity或Flutter,只要在Firebase项目中正确注册即可。换句话说,您可以在项目中创建一个虚拟Web应用程序,并使用它的appId
来创建令牌。请注意,
createToken()
用于创建令牌本身,而不是验证您是否为合法设备创建令牌;那责任福尔斯在你的肩上了添加到评估真实性数据的端点逻辑。这是自定义App Check提供程序的核心逻辑,您需要自己编写。
如果您确定客户端是可信的,请使用Admin SDK创建App Check令牌,并将其及其到期时间返回给客户端。