Sto costruendo un back-end per l'app mobile con un endpoint dell'API HTTP pubblico. Nonostante sia pubblicamente visibile, questo endpoint deve essere utilizzato solo dalla mia app, cioè non voglio che le persone inviino richieste casuali usando wget o qualcosa di simile.
La mia idea era di configurare un SSL / TLS sul mio server, rendendo quindi l'API disponibile solo su HTTPS e che impone un controllo del certificato client sul server. Ogni copia dell'app avrà lo stesso certificato client in dotazione con esso.
Tieni presente che non lo faccio ai fini dell'autenticazione utente, solo per limitare l'accesso da fonti diverse dalla mia app.
Is è una soluzione valida? Mi piace molto per la sua semplicità. Ci sono evidenti difetti con esso? Quanto è probabile che il certificato venga separato dall'app e utilizzato per scopi dannosi?