如何防止未签名的冒名顶替应用程序收听您应用的FCM通知?

时间:2017-09-11 14:13:39

标签: android security firebase firebase-cloud-messaging

我正计划使用Firebase消息传递向我的Android应用程序的所有用户发送一些优惠券代码,作为我业务的一部分非电话/应用相关服务。我想将此类消息限制为使用我的软件包名称从Google Play商店下载的SIGNED Android应用程序...

但是,我注意到如果我刚创建了一个具有完全相同包名的unsigned / debug android应用程序,它还可以监听从FCM控制台发送到我应用程序包的主题消息/通知或用户分段消息/通知名。

有没有办法通过您的软件包名称保护通过主题发送的FCM消息或来自冒名顶替应用程序的用户分段发送?

另外,有人可以向我解释一下FCM项目中“SHA证书指纹”配置的用途是什么......我认为这样做的目的是将FCM的访问权限限制为仅使用证书匹配签名的应用程序SHA1哈希,但显然不是它的用途(或者如果是,它不起作用)。

FCM Console

1 个答案:

答案 0 :(得分:0)

您的调试应用程序是否有一个名为debug的后缀?它是否被Android Studio自动包含在firebase中?

此外,无需对应用程序进行签名即可访问FCM通知,应用程序包名称和SHA就足够了。

编辑*检查是否:

buildTypes {

    debug {
        applicationIdSuffix ".debug"
    }}

enter image description here

如果您不想要调试版本,请在应用列表中添加后缀和删除调试。