Ich schreibe einen REST-Client in Java mit dem HttpClient, die REST-API, auf die ich zugreife, benötigt ein Authentifizierungs-Token für jede REST-Aktion. Dieser Token ist 24 Stunden lang gültig.Best Practices zum Verwalten von Authentifizierungs-Token
Die Art, wie ich das jetzt handle, ruft eine "getAuth()
" -Methode auf, immer wenn ich einen REST-Aufruf machen muss, der wie ein Overhead auf dem Auth-Server erscheint.
Wie kann ich dieses Authentifizierungs-Token bequem speichern und seinen Lebenszyklus verwalten? Gibt es dokumentierte Best Practices?
Ich dachte an die folgende Lösung
public class MySession {
String user;
String pass;
public MySession(String user, String pass) {
this.user = user;
this.pass = pass;
}
public getAuth() {
//user user, pass to get auth token
}
}
und übergeben dann die Sitzungen zu jeder Klasse-Objekt, die das Token nees. Wenn das Token abgelaufen ist, rufen Sie einfach diese Methode erneut
Wie ist Ihr Kunde? Ist es eine Java-Anwendung? Haben Sie Bedenken, das Token auf Client- oder Serverseite zu speichern? –
Es ist eine Java-Dropwizard-Anwendung, ich mache mir Sorgen über das Speichern des Tokens in der Datenbank und machen zu viele db-Aufrufe, stattdessen sollte ich mit dem Token bis er abläuft und dann ein neues anfordern (wenn es ein "Token abgelaufen" wirft Ausnahme oder etwas .. –
Können Sie bitte Ihren Client-Code anzeigen? Auf der Clientseite könnten Sie einen Cache im Speicher verwenden, wenn das Speichern des Tokens in der Datenbank zu Leistungsproblemen führen könnte.Wenn Sie wissen, dass das Token abläuft und Sie es aktualisieren können, tun Sie es einfach :) –