Die einzige Möglichkeit, Ihren API-Schlüssel für eine Anwendung zu sichern, bei der Benutzer sich nicht registrieren oder anmelden müssen, besteht darin, sie hinter einen Server-Proxy zu stellen. Wenn die App gestartet wird, greift die App auf Ihren Server zu. Der Server gibt dann den API-Schlüssel zurück, sodass er nur in der App in dynamischer Form vorhanden ist und für Benutzer nicht sichtbar ist.
Dies ist jedoch immer noch unsicher, wenn sie einen Paket-Sniffer oder lokalen Proxy verwenden, können sie Ihr Token greifen.
Die sicherste Möglichkeit besteht darin, alle API-Anfragen von einem privaten Server zu stellen, auf den Ihre App Zugriff hat. Also, die App macht keine Anfragen an Youtube, es bekommt nur die Daten von Ihrem Server.
Anschließend können Sie Ihre App sichern, indem Sie mit einem privaten Schlüssel API-Anforderungen an Ihren privaten Server signieren. Zum Beispiel könnten Sie in der App eine Konfigurationsdatei mit einem privaten Schlüssel haben, der in der Kopfzeile jeder API-Anfrage gesendet wird. Dann wäre es nur möglich, Ihre App zu dekompilieren und dann auf diese Konfigurationsdatei zuzugreifen und dann API-Anfragen an Ihren privaten Server unter Verwendung der gleichen privaten Informationen zu stellen. Um böswillige Benutzer zu verhindern, können Sie den Datenverkehr überwachen und Anforderungslimits festlegen, z. B. 1 Anfrage pro Sekunde pro App. Jede App, die diese Grenze überschreitet, kann als DDOS-Angriff oder böswilliger Benutzer in die schwarze Liste aufgenommen werden.
Der Datenfluss würde in etwa so aussehen.
App -> Server (with Api Key) -> youtube (data) -> Server (data) -> App
Benötigt Ihre App eine Benutzeranmeldung? –
@AaronFranco Nr. (Verwendet nicht OAuth, nur die API-Taste) –
Ich meine auf Ihre App zugreifen, müssen Benutzer ein Konto mit Ihrer App erstellen, nicht YouTube –