Firebase证书身份验证

时间:2016-02-02 17:50:17

标签: authentication certificate firebase firebase-authentication

我没有兴趣对我的客户进行身份验证。

但是,我确实希望确保到达我的FireBase的任何人都获得授权。也就是说,它只能通过我的Android应用程序。

可以以某种方式完成吗?我在FireBase文档中找不到任何选项或备选方案。

我看到的最佳方法是让我的应用程序通过证书签名,并使用它进行自我评估。

1 个答案:

答案 0 :(得分:1)

要验证您的应用,请使用FCM(但遗憾的是,它需要服务器代码):

  • 创建一个匿名的firebase帐户。
  • 使用firebase帐户uid向您的服务器发送FCM消息。
  • 服务器将创建一个节点,例如/uids/$uid/enabled
  • 有规则要求它,例如:

    ".read" : "root.child('uids').child(auth.uid).child('enabled').val() == true"

FCM消息的原因是,为了发送这样的消息,应该应该“注册”应用程序,这意味着应用程序的开发人员签名证书是已知的。任何试图发送此类FCM消息而不通过您的应用程序的人都将失败 - 即使有人重新签名(并可能修改)您的应用程序。

缺点是,当然,您需要服务器接收FCM - 这在设备上非常容易,但在服务器端更难。