Comment puis-je m'assurer que mon API REST ne répond qu'aux demandes générées par des clients approuvés, dans mon cas, mes propres applications mobiles? Je veux empêcher les demandes indésirables provenant d'autres sources. Je ne veux pas que les utilisateurs remplissent une clé de série ou quoi que ce soit, cela devrait se faire en coulisse, lors de l'installation et sans aucune interaction de l'utilisateur.
Autant que je sache, HTTPS ne sert qu'à valider le serveur avec lequel vous communiquez, c'est à qui il est destiné. Je vais bien sûr utiliser HTTPS pour chiffrer les données.
Y a-t-il un moyen d'accomplir cela?
Mise à jour: l'utilisateur peut effectuer des actions en lecture seule, ne nécessitant pas d'être connecté, mais également des actions en écriture, qui nécessitent que l'utilisateur soit connecté (authentification par jeton d'accès). Dans les deux cas, je souhaite que l'API réponde aux demandes provenant d'applications mobiles sécurisées.
L'API sera également utilisé pour l'enregistrement d'un nouveau compte via l'application mobile.
Mise à jour 2: Il semble y avoir plusieurs réponses à cette question, mais honnêtement, je ne sais pas laquelle indiquer. Certains disent que cela peut être fait, d'autres pas.