Ich verwende JWT für die Authentifizierung. Ich benutze einen signingKey, um meinen Token zu verschlüsseln. Ich möchte den signingKey an einem sicheren Ort auf der Client-Seite speichern (vermeiden Sie es hart zu kodieren). Ich hatte gehofft, android Schlüsselspeicher dafür zu verwenden; aber bis jetzt habe ich es nur geschafft, mit dem JDK keytool einen Schlüsselspeicher zu erstellen, um meine App zu signieren.Speichern Sie JWT SigningKey in Java KeyStore
Meine Frage ist: Gibt es eine Möglichkeit, ich kann einen Schlüssel in den Schlüsselspeicher für meine App vor seiner Bereitstellung auf dem Gerät speichern, so dass ich den Schlüssel in der App abrufen und damit den JWT signieren kann ?
Wenn nicht, was sind meine anderen Optionen?
Ich entwickle auf Xamarin. Mein Backend ist ASP.Net, das auf Azure bereitgestellt wird.
Dies ist eine mobile App zu vermeiden, und ich mag den Zugang zu verhindern, um alle meine API-Endpunkte von außerhalb der App Selbst wenn der Server den öffentlichen/privaten Verschlüsselungsschlüssel erzeugt, kann jeder Client (z. B. Postbote) den Server nach einem Schlüsselpaar fragen und eine Berechtigung erhalten. Wie kann ich das verhindern? – AHA
Ummm ... Ich verstehe, dass es eine Android-App ist und daher der Vorschlag, das Token in einer Ihrer Bibliotheken zu speichern. Sieht aus wie meine Antwort ist die Antwort auf Ihre Frage, während Sie eine andere Frage in den Kommentar haben –
Sicher. Mein Kommentar war ein Follow-up auf Ihren Vorschlag, es mit dem Server zu tun. Hast du irgendwelche Hinweise darauf? – AHA