Ich bin API-Server mit Flask erstellt, wo Benutzer (über die übliche Web-Oberfläche) mit persönlichen API-Schlüssel zur Verfügung gestellt. Und dann müssen alle Anfragen, die an meinen Server gesendet werden, diesen Schlüssel bereitstellen (im Header oder als get/post-Parameter ist das egal). Für den Moment funktioniert der Server über HTTP (nicht HTTPS).Ob die Verwendung eines API-Schlüssels sicher ist?
Aber ich frage mich, ob es sicher ist? Wenn jemand, der wireshark oder irgendeinen anderen Traffic-Sniffer benutzt, diese Adresse bekommt, könnte er Anfragen an meine API als Original-Besitzer senden.
Ich überprüfte Paar von Ressourcen zur Verfügung gestellt API mit apikey Verwendung und festgestellt, dass viele von ihnen HTTP-Schema verwendet. Wenn ich nur HTTPS aktiviere und Clients zwingen würde, HTTPS zu verwenden, würde es ausreichen, meine Anwendung gegen böswillige Personen zu sichern?
Token-Ablauf ist ein interessanter Ansatz. Habe ich Recht, dass ich in diesem Fall einen zusätzlichen Endpunkt implementieren muss, zum Beispiel "login" genannt, so muss dieser Endpunkt zuerst mit username/pass und return token auf den vordefinierten Zeitraum aufgerufen werden? In diesem Fall sollte ich darüber nachdenken, wie man Benutzernamen und Passwort über Netzwerk schützt. –
@ AlexG.P. Sie haben recht, das an den Benutzer gesendete Token sollte eine verschlüsselte/serialisierte Zeichenfolge sein, die Benutzerinformationen enthält, die Sie entschlüsseln können, um den Benutzer zu ermitteln. Bitte akzeptieren Sie meine Antwort, wenn es hilft. – Adeola