Qu'est-ce que l'ID d'instance ?

Principales fonctionnalités

En plus de fournir des ID uniques pour l'authentification, les ID d'instance peuvent générer des jetons de sécurité à utiliser avec d'autres services. Voici d'autres fonctionnalités:

Générer des jetons de sécurité

L'ID d'instance fournit une API simple pour générer des jetons de sécurité qui autorisent des tiers à accéder aux ressources gérées côté serveur de votre application.

Vérifier l'authenticité de l'application

Transmettez les jetons d'ID d'instance à votre serveur et utilisez le service d'ID d'instance pour vérifier le nom du package de l'application et sa signature valide. La vérification des jetons avec l'ID d'instance du service cloud permet d'identifier les applications connues. Pour réduire les coûts et les communications aller-retour redondantes, configurez votre serveur pour stocker ces jetons afin que la vérification ne soit nécessaire qu'une seule fois. En cas de problème de sécurité, votre application peut supprimer des jetons ou l'ID d'instance elle-même, et en générer de nouveaux. En outre, le serveur d'ID d'instance lance le jeton ou l'actualisation de l'ID d'instance s'il détecte des bugs ou des problèmes de sécurité.

Vérifier que l'appareil sur lequel l'application est installée est actif

Le serveur d'ID d'instance peut vous indiquer la date de la dernière utilisation de l'appareil sur lequel votre application est installée. Utilisez-le pour décider si vous souhaitez conserver les données de votre application ou envoyer un message push pour réengager vos utilisateurs.

Identifier et suivre les applications

L'ID d'instance est unique parmi toutes les instances d'application à travers le monde. Votre base de données peut donc l'utiliser pour identifier et suivre de manière unique les instances d'application. Votre code côté serveur peut vérifier, via le service cloud d'ID d'instance, qu'un ID d'instance est authentique et qu'il correspond au même ID que l'application d'origine enregistrée auprès de votre serveur. Pour des raisons de confidentialité, votre application peut supprimer un ID d'instance afin qu'il ne soit plus associé à aucun historique de la base de données. La prochaine fois que votre application appellera un ID d'instance, elle obtiendra un tout nouvel ID d'instance sans aucune relation avec l'ancien.

Cycle de vie des ID d'instance

  1. Le service d'ID d'instance émet une InstanceID lorsque votre application se connecte. Le InstanceID repose sur une paire de clés publique/privée avec la clé privée stockée sur l'appareil local et la clé publique enregistrée auprès du service d'ID d'instance.
  2. Votre application peut demander un nouvel InstanceID si nécessaire à l'aide de la méthode getID(). Votre application peut les stocker sur votre serveur si un serveur est compatible avec votre application.
  3. Votre application peut demander des jetons au service d'ID d'instance si nécessaire à l'aide de la méthode getToken(). Comme InstanceID, votre application peut également stocker des jetons sur votre propre serveur. Tous les jetons émis pour votre application appartiennent à son InstanceID.
  4. Les jetons sont uniques et sécurisés, mais votre application ou le service d'ID d'instance peut avoir besoin d'actualiser les jetons en cas de problème de sécurité ou lorsqu'un utilisateur désinstalle et réinstalle votre application lors de la restauration de l'appareil. Votre application doit implémenter un écouteur pour répondre aux requêtes d'actualisation de jetons du service d'ID d'instance.

Implémentation client

L'ID d'instance s'exécute à la fois sur Android et iOS. Chacune nécessite d'inclure la bibliothèque appropriée dans votre application cliente. Android nécessite les services Google Play. Vous aurez besoin d'un ID de projet généré par la Google Play Console si vous avez l'intention de générer des jetons.

Pour obtenir des instructions détaillées, consultez les guides d'implémentation pour Android et iOS.