android Firebase AppCheck自定义提供程序

2izufjch  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(134)

目前,我正在尝试为AppCheck使用自定义提供程序,根据documentation,此实现可用于验证当前允许的其他平台,更具体地说:

  • 您希望使用Apple、Android和Web以外的平台验证设备。例如,您可以为桌面操作系统或物联网设备创建App Check提供程序。

现在,由于当前支持AppCheck的SDK是Node.js,我的问题是:

  • 如何为不允许的平台创建自定义AppCheck提供程序以生成令牌?

更具体地说,我正在尝试为非Google Android手机实现AppCheckHarmonyOS
但是,Node.js SDK目前有一种方法可以使用:createToken(appId:字符串,选项?:AppCheckTokenOptions),我应该从这里提供一个appId,其中这个值是由Firebase在注册新应用时生成的:

在这种情况下,应用程序平台与Firebase(Android,iOS,Web等)兼容。我可以注册Google Android手机,但不能注册IoT设备、HarmonyOS手机、Tizen电视等。
如何生成一个新的appId,或者在这些情况下如何使用createToken(...)方法?此外,AppCheck的REST APIdocumentation需要appId

编辑:

我已经测试了使用相同的appId从谷歌手机注册在控制台为非谷歌手机和令牌可以与强制Firebase保护的服务使用,它的工作原理。
此外,在控制台中将从非Google手机生成的调试令牌添加到注册的Google手机中,它可以工作,Firebase传递请求并接收响应。但我认为这是不好的,因为一个非谷歌手机冒充注册谷歌手机。

f4t66c6m

f4t66c6m1#

我是这样理解的。
createToken()确实需要有效的appId,但appId不需要用于Android;它可以是Web、Unity或Flutter,只要在Firebase项目中正确注册即可。换句话说,您可以在项目中创建一个虚拟Web应用程序,并使用它的appId来创建令牌。
请注意,createToken()用于创建令牌本身,而不是验证您是否为合法设备创建令牌;那责任福尔斯在你的肩上了
添加到评估真实性数据的端点逻辑。这是自定义App Check提供程序的核心逻辑,您需要自己编写。
如果您确定客户端是可信的,请使用Admin SDK创建App Check令牌,并将其及其到期时间返回给客户端。

相关问题