0

Je n'ai aucun intérêt à authentifier mes clients tels qu'ils sont.Authentification par certificat Firebase

Cependant, je veux m'assurer que toute personne atteignant mon FireBase est autorisée. A savoir, que c'est seulement via mon application Android.

Pourrait-il être fait d'une manière ou d'une autre? Je n'ai trouvé aucune option ou alternative dans la documentation de FireBase.

La meilleure approche que je vois est de faire signer mon application par un certificat, et de l'utiliser elle-même.

+0

J'ai pensé à la solution de contournement suivante: créer un compte Gmail avec l'empreinte de certificat de mon application comme mot de passe, et authentifier l'utiliser – Mugen

Répondre

1

Pour authentifier votre application, utilisez la FCM (mais regretably, il faut un code de serveur):

  • Créer un compte anonyme firebase.
  • envoyer un message FCM à votre serveur, avec le compte firebase uid.
  • le serveur va créer un nœud tel que /uids/$uid/enabled.
  • ont une règle de l'exiger, par exemple:

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

La raison du message FCM, est que pour envoyer un message, l'application doit être « enregistré », ce qui signifie que le certificat de signature du développeur pour l'application est connu. Toute personne tentant d'envoyer un tel message FCM et non par le biais de votre application échouera - même si quelqu'un signe à nouveau (et probablement modifie) votre application. L'inconvénient est, bien sûr, que vous avez besoin de votre serveur pour recevoir des FCM - ce qui est très facile sur le périphérique, mais plus difficile du côté serveur.