2017-12-28 38 views
-2

Ich habe eine API für meine mobile App entwickelt. Ich habe einen API-Schlüssel für den Zugriff auf diese API. Wie Sie wissen, gibt es keine Möglichkeiten, den API-Schlüssel zu verbergen. Aber was, wenn ich es mit der Firebase-Konfiguration mache? (https://firebase.google.com/docs/remote-config/api-overview)Ausblenden eines API-Schlüssels in der Android-App

Meine Idee: Verwenden Sie nicht den Standardparameter für Remote-Konfiguration. Wenn die App den API-Schlüssel nicht von Firebase abrufen kann, funktioniert sie nicht. Verwenden Sie den API-Schlüssel zur Laufzeit, ohne ihn im lokalen Speicher und im App-Code zu speichern.

Jemand hat das versucht? Ist das eine gute Idee für den sicheren API-Schlüssel?

+0

Firebase R emote Config ist für alle Benutzer zugänglich. Es sollte nicht verwendet werden, um Geheimnisse zu teilen. Im Allgemeinen: Wenn Ihr API-Schlüssel geheim bleiben soll, legen Sie ihn niemals in ein clientseitiges Gerät. Sie benötigen einen Server (oder so etwas wie Cloud-Funktionen), um zu verhindern, dass Ihr Benutzer das Geheimnis entdeckt. –

Antwort

0

Sie können mit einem Pseudo-API-Schlüssel kompilieren und ändern mit Ihnen Original-API-Schlüssel auf Laufzeit mit Remote-Konfiguration, aber warum? Wie wäre es

  • mit Präferenz geteilt mit Verschlüsselung
  • einbetten Ihr API-Schlüssel in der Ressourcendatei
  • Ihr API-Schlüssel in der build Config versteckt
  • Ihr API-Schlüssel mit Verschleiern proguard
+0

Danke für die Antwort. Gemeinsame Präferenz- und Ressourcendatei sind keine gute Idee, denke ich. Build Config Versteckt den Schlüssel nur aus dem Repository, nicht für den Decompiler, nein? Proguard nicht ein 100% sicher – blood73

+0

Nun keine Routine ist 100% sicher, aber bitte sehen Eric Lafortunes Antwort https://Stackoverflow.com/a/14572051/6683139 –

Verwandte Themen