Class RestLoginService

java.lang.Object
at.letto.service.rest.RestClient
at.letto.login.restclient.RestLoginService
All Implemented Interfaces:
LoginService, MicroService

public class RestLoginService extends RestClient implements LoginService
  • Constructor Details

    • RestLoginService

      public RestLoginService(String baseURI)
      Erzeugt ein REST-Client Verbindung zu einem Microservice
      Parameters:
      baseURI - Basis-URI des Microservices zb: https://localhost:9091
    • RestLoginService

      public RestLoginService(String baseURI, String user, String password)
  • Method Details

    • ping

      public boolean ping()
      Description copied from interface: MicroService
      Schickt eine Ping an das Service
      Specified by:
      ping in interface MicroService
    • version

      public String version()
      Description copied from interface: MicroService
      Liefert die Version des Microservices als String
      Specified by:
      version in interface MicroService
    • info

      public String info()
      Description copied from interface: MicroService
      Liefert einen allgemeinen Informationsstring zu dem Microservice
      Specified by:
      info in interface MicroService
    • admininfo

      public AdminInfoDto admininfo()
      Description copied from interface: MicroService
      Liefert Information über das Rest-Service
      Specified by:
      admininfo in interface MicroService
    • jwtLogin

      public LettoToken jwtLogin(String username, String password, String school, String jwtsecret)
      Description copied from interface: LoginService
      Prüft Benutzernamen und Passwort über das Loginservice und checkt den gelieferten Token mit dem Secret
      Specified by:
      jwtLogin in interface LoginService
      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

      public String jwtLogin(String username, String password, String school)
      Description copied from interface: LoginService
      Prüft Benutzernamen und Passwort über das Loginservice und checkt den gelieferten Token mit dem Secret
      Specified by:
      jwtLogin in interface LoginService
      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

      public LettoToken jwtRefresh(LettoToken token, String secret)
      Description copied from interface: LoginService
      Aktualisiert einen gültigen Token
      Specified by:
      jwtRefresh in interface LoginService
      Parameters:
      token - Token der aktualisiert werden muss
      secret - gemeinsames jwtsecret für den JWT-Token
      Returns:
      gültiger LeTTo-Token oder null
    • jwtRefresh

      public String jwtRefresh(String token)
      Description copied from interface: LoginService
      Aktualisiert einen gültigen Token
      Specified by:
      jwtRefresh in interface LoginService
      Parameters:
      token - Token der aktualisiert werden muss
      Returns:
      gültiger JWT-Token oder null
    • jwtRefreshGet

      public String jwtRefreshGet(String token)
    • jwtGetTempTokenUri

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

      public String jwtGetTempToken(LettoToken lettoToken, String secret)
      Description copied from interface: LoginService
      Liefert aus einem gültigen Token einen Temptoken für einen neuen refreshten Token
      Specified by:
      jwtGetTempToken in interface LoginService
      Parameters:
      lettoToken - gültiger Token
      Returns:
      Temptoken
    • jwtGetTempTokenUri

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

      public TokenInfoResponseDto tokenInfo(String token)
      Description copied from interface: LoginService
      Liefert Information über den Token
      Specified by:
      tokenInfo in interface LoginService
      Parameters:
      token - aktueller Token
      Returns:
      Information über den Token
    • getAliasToken

      public String getAliasToken(String token, String username)
      Description copied from interface: LoginService
      Liefert einen neuen Token um eine Alias-Rolle annehmen zu können
      Specified by:
      getAliasToken in interface LoginService
      Parameters:
      token - aktueller Token
      username - neuer Benutzername in der gleichen Schule für den Alias-Benutzer
      Returns:
      gültiger JWT-Token oder null
    • tempLogin

      public boolean tempLogin(String username, String tempPassword, String school)
      Description copied from interface: LoginService
      Schickt Benutzername, Passwort und Schule an den Endpoint und liefert ok wenn das Passwort dem Temp-Passwort entspricht ENDPOINT : LoginEndpoint.templogin
      Specified by:
      tempLogin in interface LoginService
      Parameters:
      username - Benutzername
      tempPassword - temporäres Passwort
      school - Schulkürzel
      Returns:
      true, wenn das Passwort ok ist, ansonsten false
    • setPassword

      public boolean setPassword(String username, String school, String oldPassword, String newPassword, boolean tempPassword)
      Description copied from interface: LoginService
      Setzt ein neues Benutzerpasswort eines Users an einer Schule und liefert ok wenn das Passwort gesetzt wurde ENDPOINT : LoginEndpoint.setpassword
      Specified by:
      setPassword in interface LoginService
      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
    • jwtTokenFromTempToken

      public String jwtTokenFromTempToken(String tempToken, String serverSecret)
      Description copied from interface: LoginService
      Liefert einen gültigen JWT-Token aus einem gültigen TempToken
      Specified by:
      jwtTokenFromTempToken in interface LoginService
      Parameters:
      tempToken - tempToken der über Get-mitgeschickt wurde
      serverSecret - gemeinsames Secret des Servers ( Nicht das JWT-Secret!!)
      Returns:
      gültiger JWT-Token
    • pingStudent

      public boolean pingStudent(LettoToken token)
    • pingTeacher

      public boolean pingTeacher(LettoToken token)
    • pingAdmin

      public boolean pingAdmin(LettoToken token)
    • getServerToken

      public String getServerToken(GetServerTokenRequest request)
      Description copied from interface: LoginService
      Erzeugt einen neuen Servertoken mit dem Login-Service entsprechend den Angaben im Request
      Endpoint ist User-Authentificatet als User admin
      Specified by:
      getServerToken in interface LoginService
      Parameters:
      request - Konfigration des neuen ServerTokens
      Returns:
      neuen Servertoken als String
    • getServerTokenList

      public ServerTokenListDto getServerTokenList()
      Description copied from interface: LoginService
      Liefert eine Liste aller Token die erzeugt wurden und noch gültig sind
      Specified by:
      getServerTokenList in interface LoginService
      Returns:
      Liste der Tokenstrings
    • removeServerToken

      public boolean removeServerToken(long tokenID)
      Description copied from interface: LoginService
      deaktiviert einen bestehenden Token indem er von der Liste gelöscht wird.
      Specified by:
      removeServerToken in interface LoginService
      Parameters:
      tokenID - Token-ID des Token
      Returns:
      true wenn es funktioniert hat
    • activateServerToken

      public boolean activateServerToken(long tokenID)
      Description copied from interface: LoginService
      aktiviert einen bestehenden Token .
      Specified by:
      activateServerToken in interface LoginService
      Parameters:
      tokenID - Token-ID des Token
      Returns:
      true wenn es funktioniert hat
    • deactivateServerToken

      public boolean deactivateServerToken(long tokenID)
      Description copied from interface: LoginService
      deaktiviert einen bestehenden Token durch eine Markierung .
      Specified by:
      deactivateServerToken in interface LoginService
      Parameters:
      tokenID - Token-ID des Token
      Returns:
      true wenn es funktioniert hat
    • loadServerToken

      public GeneratedServerToken loadServerToken(long tokenID)
      Description copied from interface: LoginService
      Liefert wichtige Informationen zu einem gültigen ServerToken
      Specified by:
      loadServerToken in interface LoginService
      Parameters:
      tokenID - Token-ID des Token
      Returns:
      Informationen über den Token
    • refreshServerToken

      public String refreshServerToken(String oldTokenString)
      Description copied from interface: LoginService
      aktualisiert eine bestehenden Servertoken
      Specified by:
      refreshServerToken in interface LoginService
      Parameters:
      oldTokenString - alter Servertoken
      Returns:
      neuer Servertoken oder Leerstring wenn nicht erfolgreich
    • serverTokenInfo

      public HashMap<String,String> serverTokenInfo(String serverTokenString)
      Description copied from interface: LoginService
      Liefert wichtige Informationen zu einem gültigen ServerToken
      Specified by:
      serverTokenInfo in interface LoginService
      Parameters:
      serverTokenString - ServerToken
      Returns:
      Informationen über den Token
    • getUserToken

      public String getUserToken(String serverTokenString, String userTokenFremd, String language, String backlink, boolean tempToken)
      Description copied from interface: LoginService
      Erzeugt einen neuen UserToken auf dem Remote-Server mit dem auf den Remotserver zugegriffen werden kann
      Specified by:
      getUserToken in interface LoginService
      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

      public String getUserTokenDirect(UserTokenRequestDto userTokenRequestDto)
      Description copied from interface: LoginService
      Erzeugt einen neuen UserToken auf dem Remote-Server mit dem auf den Remotserver zugegriffen werden kann
      Specified by:
      getUserTokenDirect in interface LoginService
      Parameters:
      userTokenRequestDto - ServerToken für die Verbindung zum Fremdserver und Benutzerdaten
      Returns: