Interface LoginService

All Known Implementing Classes:
RestLoginService

public interface LoginService
Service für die Authentifikation von Benutzern
  • Method Details

    • jwtLogin

      LettoToken jwtLogin(String username, String password, String school, String jwtsecret)
      Prüft Benutzernamen und Passwort über das Loginservice und checkt den gelieferten Token mit dem Secret
      Parameters:
      username - Benutzername
      password - Passwort unverschlüsselt
      school - Schulkennung welche auch in der URL verwendet wird (eindeutig am Server)
      jwtsecret - gemeinsames Secret für den JWT-Token
      Returns:
      gültiger LeTTo-Token oder null
    • jwtLogin

      String jwtLogin(String username, String password, String school)
      Prüft Benutzernamen und Passwort über das Loginservice und checkt den gelieferten Token mit dem Secret
      Parameters:
      username - Benutzername
      password - Passwort unverschlüsselt
      school - Schulkennung welche auch in der URL verwendet wird (eindeutig am Server)
      Returns:
      gültiger token als String oder null
    • jwtRefresh

      LettoToken jwtRefresh(LettoToken lettoToken, String jwtsecret)
      Aktualisiert einen gültigen Token
      Parameters:
      lettoToken - Token der aktualisiert werden muss
      jwtsecret - gemeinsames jwtsecret für den JWT-Token
      Returns:
      gültiger LeTTo-Token oder null
    • jwtRefresh

      String jwtRefresh(String token)
      Aktualisiert einen gültigen Token
      Parameters:
      token - Token der aktualisiert werden muss
      Returns:
      gültiger JWT-Token oder null
    • jwtTokenFromTempToken

      String jwtTokenFromTempToken(String tempToken, String serverSecret)
      Liefert einen gültigen JWT-Token aus einem gültigen TempToken
      Parameters:
      tempToken - tempToken der über Get-mitgeschickt wurde
      serverSecret - gemeinsames Secret des Servers ( Nicht das JWT-Secret!!)
      Returns:
      gültiger JWT-Token
    • jwtGetTempTokenUri

      String jwtGetTempTokenUri(LettoToken lettoToken, String jwtsecret)
      Parameters:
      lettoToken - gültiger Token
      jwtsecret - gemeinsames jwtsecret für den JWT-Token
      Returns:
      Liefert eine URI mit einem temporären Token zur Weiterleitung an LeTTo
    • jwtGetTempToken

      String jwtGetTempToken(LettoToken lettoToken, String jwtsecret)
      Liefert aus einem gültigen Token einen Temptoken für einen neuen refreshten Token
      Parameters:
      lettoToken - gültiger Token
      Returns:
      Temptoken
    • jwtGetTempTokenUri

      String jwtGetTempTokenUri(String token)
      Parameters:
      token - gültiger Token
      Returns:
      Liefert eine URI mit einem temporären Token zur Weiterleitung an LeTTo
    • tokenInfo

      TokenInfoResponseDto tokenInfo(String token)
      Liefert Information über den Token
      Parameters:
      token - aktueller Token
      Returns:
      Information über den Token
    • getAliasToken

      String getAliasToken(String token, String username)
      Liefert einen neuen Token um eine Alias-Rolle annehmen zu können
      Parameters:
      token - aktueller Token
      username - 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)
      Schickt Benutzername, Passwort und Schule an den Endpoint und liefert ok wenn das Passwort dem Temp-Passwort entspricht ENDPOINT : LoginEndpoint.templogin
      Parameters:
      username - Benutzername
      tempPassword - temporäres Passwort
      school - Schulkürzel
      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 - Benutzername
      school - Schulkürzel
      oldPassword - altes Passwort
      newPassword - neues Passwort
      tempPassword - 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

      String getServerToken(GetServerTokenRequest request)
      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

      GeneratedServerToken loadServerToken(long tokenID)
      Liefert wichtige Informationen zu einem gültigen ServerToken
      Parameters:
      tokenID - Token-ID des Token
      Returns:
      Informationen über den Token
    • refreshServerToken

      String refreshServerToken(String oldTokenString)
      aktualisiert eine bestehenden Servertoken
      Parameters:
      oldTokenString - alter Servertoken
      Returns:
      neuer Servertoken oder Leerstring wenn nicht erfolgreich
    • serverTokenInfo

      HashMap<String,String> serverTokenInfo(String serverTokenString)
      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)
      Erzeugt einen neuen UserToken auf dem Remote-Server mit dem auf den Remotserver zugegriffen werden kann
      Parameters:
      serverTokenString - ServerToken für die Verbindung zum Fremdserver
      userTokenFremd - lokaler User-Token
      language - Sprache welche verwendet werden soll
      backlink - Link welcher zurück zum Fremdserver führt
      tempToken - true wenn ein TempToken statt einem UserToken erzeugt werden soll
      Returns:
      UserToken oder Temptoken
    • getUserTokenDirect

      String getUserTokenDirect(UserTokenRequestDto userTokenRequestDto)
      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: