Ich habe einige REST-Dienste auf meiner Website, auf die Dritte zugreifen können. Mein Plan ist einfach. Um diese Dienste in Anspruch zu nehmen, müssen sie einen Schlüssel von mir anfordern. Ich werde sie privat mit einer GUID versorgen. Jeder Anruf bei einem meiner Dienste überprüft über einen Filter die Kopfzeile des Schlüssels und akzeptiert/lehnt die Anfrage entsprechend ab. Diese Seite ist alles HTTPS, also würde der Schlüssel während des Transports verschlüsselt werden. Ich mache mir keine Sorgen, dass der Schlüssel für autorisierte Kunden visuell erkennbar ist. Mit anderen Worten, ich mache mir keine Sorgen über irgendwelche "Inside" -Angriffe oder Leute, die den Schlüssel teilen. Ich will einfach keine zufälligen, nicht autorisierten externen Benutzer.Senden Sie einfach einen Schlüssel im HTTP-Header, um sich für einen REST-Aufruf zu authentifizieren.
Ich habe mich umgesehen und ich sehe wirklich niemanden, der es genau so macht. Ich fühle mich, als würde ich mich zu sehr vereinfachen ... aber auf der anderen Seite sehe ich auch nicht, was damit nicht stimmt.
Meine Frage ist ... klingt das sicher genug (aus einer grundlegenden/minimalen Perspektive) oder zeigt es einige klaffende Sicherheitslücke, die ich nicht sehe?
FWIW - ich bin mit dem Spring Framework verwenden, einschließlich Spring Security 4.
Dank!
Klingt wie eine grundlegende API-Schlüsselimplementierung usw. Ich würde [dieses zuerst] überprüfen (https://stackoverflow.com/questions/25317405/securing-rest-api-using-custom-tokens-stateless-no-- UI-Nein-Cookies-No-Basic-Au). – dkanejs
Ja. Entschuldigung, ich war in meiner ursprünglichen Nachricht nicht klar. Ich bin schon dabei. Es ist live und funktioniert gut. Meine Frage war mehr ... klingt es sicher genug (aus einer grundlegenden/minimalen Perspektive) oder zeigt es ein klaffendes Sicherheitsloch, das ich nicht sehe? Ich werde den ursprünglichen Beitrag aktualisieren. –
Cool, es ist ein ziemlich häufiges Muster wirklich, manchmal ist der minimale Ansatz der beste. Ich habe eine Antwort mit einem zusätzlichen Ansatz eingereicht, der verwendet werden könnte. – dkanejs