Package at.letto.login.restclient
Interface LoginService
- All Known Implementing Classes:
RestLoginService
public interface LoginService
Service für die Authentifikation von Benutzern
-
Method Summary
Modifier and TypeMethodDescriptionboolean
activateServerToken
(long tokenID) aktiviert einen bestehenden Token .createMessage
(String sender, String receiver, String topic, Object message, long lifetimeSeconds, boolean single, String messageSecret) Generiert eine Nachricht an ein Service welche in der REDIS-Datenbank gespeichert wirdboolean
deactivateServerToken
(long tokenID) deaktiviert einen bestehenden Token durch eine Markierung .getAliasToken
(String token, String username) Liefert einen neuen Token um eine Alias-Rolle annehmen zu könnengetMessage
(String messageID) Lädt eine Nachricht aus der REDIS-Datenbank und löscht falls sie single ist sofortgetServerToken
(GetServerTokenRequest request) Erzeugt einen neuen Servertoken mit dem Login-Service entsprechend den Angaben im Request
Endpoint ist User-Authentificatet als User adminLiefert eine Liste aller Token die erzeugt wurden und noch gültig sindgetUserToken
(String serverTokenString, String userTokenFremd, String language, String backlink, boolean tempToken, String fingerprint, String ipaddress) Erzeugt einen neuen UserToken auf dem Remote-Server mit dem auf den Remotserver zugegriffen werden kanngetUserTokenDirect
(UserTokenRequestDto userTokenRequestDto) Erzeugt einen neuen UserToken auf dem Remote-Server mit dem auf den Remotserver zugegriffen werden kannjwtGetTempToken
(LettoToken lettoToken) Liefert aus einem gültigen Token einen Temptoken für einen neuen refreshten TokenjwtGetTempToken
(String token) Liefert aus einem gültigen Token einen Temptoken für einen neuen refreshten TokenjwtGetTempTokenUri
(LettoToken lettoToken) jwtGetTempTokenUri
(String token) jwtLettoLogin
(String username, String password, String school, String fingerprint, String ipaddress, String service, String infos, String userAgent) Prüft Benutzernamen und Passwort über das Loginservice und liefert einen LettoToken zurückjwtLogin
(String username, String password, String school, String fingerprint, String ipaddress, String service, String infos, String userAgent) Prüft Benutzernamen und Passwort über das Loginserviceboolean
Führt einen Logout des Tokens durch und vernichtet den Token im Token-Store - danach ist kein Token-Refresh dieses Tokens mehr möglich!jwtRefresh
(LettoToken lettoToken) Deprecated.jwtRefresh
(LettoToken lettoToken, String fingerprint) Aktualisiert einen gültigen TokenjwtRefresh
(String token) Deprecated.jwtRefresh
(String token, String fingerprint) Aktualisiert einen gültigen TokenjwtTokenFromTempToken
(String tempToken, String serverSecret) Liefert einen gültigen JWT-Token aus einem gültigen TempTokenjwtValidate
(String token, String fingerprint) Überprüft die Gültigkeit eines TokenslettoTokenFromTokenString
(String token) Liefert einen kompletten LettoToken aus einem Tokenstring wenn der Token gültig istloadServerToken
(long tokenID) Liefert wichtige Informationen zu einem gültigen ServerTokenboolean
Entfernt alle Tokens des Benutzers sodass kein Token-Refresh für diese Tokens mehr möglich ist!boolean
boolean
pingStudent
(String token) boolean
pingTeacher
(String token) refreshServerToken
(String oldTokenString) aktualisiert eine bestehenden Servertokenboolean
removeServerToken
(long tokenID) deaktiviert einen bestehenden Token indem er von der Liste gelöscht wird.serverTokenInfo
(String serverTokenString) Liefert wichtige Informationen zu einem gültigen ServerTokenboolean
setPassword
(String username, String school, String oldPassword, String newPassword, boolean tempPassword) Setzt ein neues Benutzerpasswort eines Users an einer Schule und liefert ok wenn das Passwort gesetzt wurde ENDPOINT : LoginEndpoint.setpasswordboolean
tempLogin
(String username, String tempPassword, String school, String fingerprint, String ipaddress) Schickt Benutzername, Passwort und Schule an den Endpoint und liefert ok wenn das Passwort dem Temp-Passwort entspricht ENDPOINT : LoginEndpoint.temploginLiefert Information über den Token
-
Method Details
-
jwtLogin
String jwtLogin(String username, String password, String school, String fingerprint, String ipaddress, String service, String infos, String userAgent) Prüft Benutzernamen und Passwort über das Loginservice- Parameters:
username
- Benutzernamepassword
- Passwort unverschlüsseltschool
- Schulkennung welche auch in der URL verwendet wird (eindeutig am Server)fingerprint
- Fingerabdruck des Users (z.B. Fingerabdruck des Smartphones)ipaddress
- IP-Adresse des Usersservice
- Service welcher die Authentifizierung anfordert, z.B. "letto-login", "letto-edit", "letto-admin" etc.infos
- zusätzliche Informationen über den Client, wer, was, wo, warumuserAgent
- User-Agent des Clients, z.B. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"- Returns:
- gültiger token als String oder null
-
jwtLettoLogin
TokenLoginResult jwtLettoLogin(String username, String password, String school, String fingerprint, String ipaddress, String service, String infos, String userAgent) Prüft Benutzernamen und Passwort über das Loginservice und liefert einen LettoToken zurück- Parameters:
username
- Benutzernamepassword
- Passwort unverschlüsseltschool
- Schulkennung welche auch in der URL verwendet wird (eindeutig am Server)fingerprint
- Fingerabdruck des Users (z.B. Fingerabdruck des Smartphones)ipaddress
- IP-Adresse des Usersservice
- Service welcher die Authentifizierung anfordert, z.B. "letto-login", "letto-edit", "letto-admin" etc.infos
- zusätzliche Informationen über den Client, wer, was, wo, warumuserAgent
- User-Agent des Clients, z.B. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"- Returns:
- gültiger LettoToken oder null
-
jwtLogout
Führt einen Logout des Tokens durch und vernichtet den Token im Token-Store - danach ist kein Token-Refresh dieses Tokens mehr möglich!- Parameters:
token
- Token der ausgeloggt werden soll- Returns:
- true wenn der logout erfolgreich war, sonst false
-
logout
Entfernt alle Tokens des Benutzers sodass kein Token-Refresh für diese Tokens mehr möglich ist!- Parameters:
token
- Token des Benutzers(Lehrer,Admin) der den Benutzer username ausloggen möchteusername
- Benutzernameschool
- Schulenkennung welche auch in der URL verwendet wird (eindeutig am Server)- Returns:
- true wenn der logout erfolgreich war, sonst false
-
jwtValidate
Überprüft die Gültigkeit eines Tokens- Parameters:
token
- Token der geprüft werden muss- Returns:
- true wenn der Token gültig ist, sonst false
-
lettoTokenFromTokenString
Liefert einen kompletten LettoToken aus einem Tokenstring wenn der Token gültig ist- Parameters:
token
- Token der geprüft werden muss- Returns:
- gültiger LeTTo-Token oder null
-
jwtRefresh
Deprecated.Aktualisiert einen gültigen Token- Parameters:
lettoToken
- Token der aktualisiert werden muss- Returns:
- gültiger LeTTo-Token oder null
-
jwtRefresh
Deprecated.Aktualisiert einen gültigen Token- Parameters:
token
- Token der aktualisiert werden muss- Returns:
- gültiger JWT-Token oder null
-
jwtRefresh
Aktualisiert einen gültigen Token- Parameters:
lettoToken
- Token der aktualisiert werden muss- Returns:
- gültiger LeTTo-Token oder null
-
jwtRefresh
Aktualisiert einen gültigen Token- Parameters:
token
- Token der aktualisiert werden muss- Returns:
- gültiger JWT-Token oder null
-
jwtTokenFromTempToken
Liefert einen gültigen JWT-Token aus einem gültigen TempToken- Parameters:
tempToken
- tempToken der über Get-mitgeschickt wurdeserverSecret
- gemeinsames Secret des Servers ( Nicht das JWT-Secret!!)- Returns:
- gültiger JWT-Token
-
jwtGetTempTokenUri
- Parameters:
lettoToken
- gültiger Token- Returns:
- Liefert eine URI mit einem temporären Token zur Weiterleitung an LeTTo
-
jwtGetTempToken
Liefert aus einem gültigen Token einen Temptoken für einen neuen refreshten Token- Parameters:
lettoToken
- gültiger Token- Returns:
- Temptoken
-
jwtGetTempToken
Liefert aus einem gültigen Token einen Temptoken für einen neuen refreshten Token- Parameters:
token
- gültiger Token- Returns:
- Temptoken
-
jwtGetTempTokenUri
- Parameters:
token
- gültiger Token- Returns:
- Liefert eine URI mit einem temporären Token zur Weiterleitung an LeTTo
-
tokenInfo
Liefert Information über den Token- Parameters:
token
- aktueller Token- Returns:
- Information über den Token
-
getAliasToken
Liefert einen neuen Token um eine Alias-Rolle annehmen zu können- Parameters:
token
- aktueller Tokenusername
- neuer Benutzername in der gleichen Schule für den Alias-Benutzer- Returns:
- gültiger JWT-Token oder null
-
tempLogin
boolean tempLogin(String username, String tempPassword, String school, String fingerprint, String ipaddress) Schickt Benutzername, Passwort und Schule an den Endpoint und liefert ok wenn das Passwort dem Temp-Passwort entspricht ENDPOINT : LoginEndpoint.templogin- Parameters:
username
- BenutzernametempPassword
- temporäres Passwortschool
- Schulkürzelfingerprint
- Fingerabdruck des Users (z.B. Fingerabdruck des Smartphones)ipaddress
- IP-Adresse des Users- Returns:
- true, wenn das Passwort ok ist, ansonsten false
-
setPassword
boolean setPassword(String username, String school, String oldPassword, String newPassword, boolean tempPassword) Setzt ein neues Benutzerpasswort eines Users an einer Schule und liefert ok wenn das Passwort gesetzt wurde ENDPOINT : LoginEndpoint.setpassword- Parameters:
username
- Benutzernameschool
- SchulkürzeloldPassword
- altes PasswortnewPassword
- neues PassworttempPassword
- true wenn das alte Passwort das Temp-Passwort ist, false wenn es das aktuelle normale Passwort ist- Returns:
- true wenn das Passwort korrekt gesetzt werden konnte
-
getServerToken
Erzeugt einen neuen Servertoken mit dem Login-Service entsprechend den Angaben im Request
Endpoint ist User-Authentificatet als User admin- Parameters:
request
- Konfigration des neuen ServerTokens- Returns:
- neuen Servertoken als String
-
getServerTokenList
ServerTokenListDto getServerTokenList()Liefert eine Liste aller Token die erzeugt wurden und noch gültig sind- Returns:
- Liste der Tokenstrings
-
removeServerToken
boolean removeServerToken(long tokenID) deaktiviert einen bestehenden Token indem er von der Liste gelöscht wird.- Parameters:
tokenID
- Token-ID des Token- Returns:
- true wenn es funktioniert hat
-
deactivateServerToken
boolean deactivateServerToken(long tokenID) deaktiviert einen bestehenden Token durch eine Markierung .- Parameters:
tokenID
- Token-ID des Token- Returns:
- true wenn es funktioniert hat
-
activateServerToken
boolean activateServerToken(long tokenID) aktiviert einen bestehenden Token .- Parameters:
tokenID
- Token-ID des Token- Returns:
- true wenn es funktioniert hat
-
loadServerToken
Liefert wichtige Informationen zu einem gültigen ServerToken- Parameters:
tokenID
- Token-ID des Token- Returns:
- Informationen über den Token
-
refreshServerToken
aktualisiert eine bestehenden Servertoken- Parameters:
oldTokenString
- alter Servertoken- Returns:
- neuer Servertoken oder Leerstring wenn nicht erfolgreich
-
serverTokenInfo
Liefert wichtige Informationen zu einem gültigen ServerToken- Parameters:
serverTokenString
- ServerToken- Returns:
- Informationen über den Token
-
getUserToken
String getUserToken(String serverTokenString, String userTokenFremd, String language, String backlink, boolean tempToken, String fingerprint, String ipaddress) Erzeugt einen neuen UserToken auf dem Remote-Server mit dem auf den Remotserver zugegriffen werden kann- Parameters:
serverTokenString
- ServerToken für die Verbindung zum FremdserveruserTokenFremd
- lokaler User-Tokenlanguage
- Sprache welche verwendet werden sollbacklink
- Link welcher zurück zum Fremdserver führttempToken
- true wenn ein TempToken statt einem UserToken erzeugt werden sollfingerprint
- Fingerabdruck des Users (z.B. Fingerabdruck des Smartphones)ipaddress
- IP-Adresse des Users- Returns:
- UserToken oder Temptoken
-
getUserTokenDirect
Erzeugt einen neuen UserToken auf dem Remote-Server mit dem auf den Remotserver zugegriffen werden kann- Parameters:
userTokenRequestDto
- ServerToken für die Verbindung zum Fremdserver und Benutzerdaten- Returns:
- UserToken auf dem Remote-Server
-
pingStudent
-
pingTeacher
-
pingAdmin
-
createMessage
String createMessage(String sender, String receiver, String topic, Object message, long lifetimeSeconds, boolean single, String messageSecret) Generiert eine Nachricht an ein Service welche in der REDIS-Datenbank gespeichert wird- Parameters:
sender
- Kennung des Sendersreceiver
- Kennung des Empfängerstopic
- Thema der Nachrichtmessage
- Nachricht als Objekt welches als JSON gespeichert wird!!lifetimeSeconds
- Lebensdauer der Nachricht in Sekunden bis sie gelöscht wirdsingle
- true wenn die Nachricht nur einmal abgeholt werden kann und dann sofort gelöscht wirdmessageSecret
- Secret damit nur Services eine Nachricht senden können welche das Secret kennen.- Returns:
- Kennung der Nachricht als String welcher auch als get-Parameter verwendet werden kann
-
getMessage
Lädt eine Nachricht aus der REDIS-Datenbank und löscht falls sie single ist sofort- Parameters:
messageID
- Kennung der Nachricht- Returns:
- Nachricht als Object oder null wenn die Nachricht nicht existiert
-