Class LettoToken

java.lang.Object
at.letto.security.LettoToken

public class LettoToken extends Object
Ein JWT-Token welcher in LeTTo verwendet wird als Objekt mit Methoden zur Analyse des Tokens
  • Field Details

    • ROLE_GLOBAL

      public static final String ROLE_GLOBAL
      globaler Administrator
      See Also:
    • ROLE_EXTERN

      public static final String ROLE_EXTERN
      Externer Benutzer
      See Also:
    • ROLE_CHANGE_ABOS

      public static final String ROLE_CHANGE_ABOS
      Wird für Abos benutzt - MAYT fragen wozu
      See Also:
    • ROLE_MULTIPLE_LOGIN

      public static final String ROLE_MULTIPLE_LOGIN
      mehrfacher Login zulässig
      See Also:
    • ROLE_PAYINGSTUDENT

      public static final String ROLE_PAYINGSTUDENT
      zahlender Student für LeTTo-Private
      See Also:
    • ROLE_STUDENT

      public static final String ROLE_STUDENT
      Student der Schule
      See Also:
    • ROLE_TEACHER

      public static final String ROLE_TEACHER
      Lehrer der Schule
      See Also:
    • ROLE_ADMIN

      public static final String ROLE_ADMIN
      Administrator der Schule
      See Also:
    • ROLE_DISABLED

      public static final String ROLE_DISABLED
      Benutzer ist deaktiviert
      See Also:
    • ROLE_USER_ABOS_CATEGORY

      public static final String ROLE_USER_ABOS_CATEGORY
      MAYT fragen
      See Also:
    • ROLE_USER_ABOS_USER

      public static final String ROLE_USER_ABOS_USER
      MAYT fragen
      See Also:
    • ROLE_USE_CURRENT_YEAR

      public static final String ROLE_USE_CURRENT_YEAR
      nur das aktuelle Schuljahr darf benutzt werden
      See Also:
    • ROLE_PREFIX_ORIGINUSER

      public static final String ROLE_PREFIX_ORIGINUSER
      Prefix für den Benutzernamen des Originalbenutzers wenn sich ein Lehrer/Admin als anderer User verkleidet hat
      See Also:
    • ROLE_SERVER

      public static final String ROLE_SERVER
      Rolle für die Authentifizierung eines Server-Tokens, der an Lehrer/Admins anderer Schulen weitergegeben wird
      See Also:
    • ROLE_CREATE_CATEGORY

      public static final String ROLE_CREATE_CATEGORY
      ein Externer Benutzer darf nur dann eine User-Category anlegen, wenn ROLE_CREATE_CATEGORY aktiv ist
      See Also:
    • token

      private final String token
    • created

      private final boolean created
    • claims

      private final io.jsonwebtoken.impl.DefaultClaims claims
  • Constructor Details

  • Method Details

    • checkSecret

      private String checkSecret(String secret)
    • refreshToken

      public LettoToken refreshToken(String secret, long expiration)
      Parameters:
      secret - JWT-Secret
      expiration - Lebensdauer in ms
      Returns:
      Liefert einen neuen Token mit neuer Gültigkeitsdauer und sonst gleichen Daten
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • calculateExpirationDate

      private static Date calculateExpirationDate(Date createdDate, Long expiration)
    • getValidMillis

      public long getValidMillis()
    • getUsername

      public String getUsername()
    • getExpirationDate

      public Date getExpirationDate()
    • getCreatedDate

      public Date getCreatedDate()
    • getIdUser

      public Integer getIdUser()
    • getIdSchule

      public Integer getIdSchule()
    • getId

      public Integer getId()
    • getVorname

      public String getVorname()
    • getNachname

      public String getNachname()
    • getActiveDirectoryName

      public String getActiveDirectoryName()
    • getEmail

      public String getEmail()
    • getSprache

      public String getSprache()
    • getSchool

      public String getSchool()
    • getLettoUri

      public String getLettoUri()
    • getServerRestkey

      public String getServerRestkey()
    • getServersession

      public String getServersession()
    • getIssuer

      public String getIssuer()
    • getAudience

      public String getAudience()
    • getRoles

      public List<String> getRoles()
    • getPayload

      public HashMap<String,String> getPayload()
    • getPayload

      public String getPayload(String key)
    • getRolesArray

      public String[] getRolesArray()
    • calcAllClaimsFromToken

      private io.jsonwebtoken.Claims calcAllClaimsFromToken(String secret)
    • calcJwt

      public io.jsonwebtoken.Jwt calcJwt(String secret)
      Returns:
      Liefert eine Java-Web-Token-Darstellung des LeTTo-Tokens
    • isTokenNotExpired

      public boolean isTokenNotExpired()
      Returns:
      Liefert eine Java-Web-Token-Darstellung des LeTTo-Tokens public Jwt getJwt() { return jwt; }
    • isValid

      public boolean isValid()
    • validateToken

      public Optional<Boolean> validateToken()
      Returns:
      true wenn der Token noch nicht abgelaufen ist
    • hasRole

      public boolean hasRole(String role)
      Prüft ob der Token eine angegebenen Rolle hat
      Parameters:
      role - Rolle die geprüft werden soll
      Returns:
      true wenn der Token der Rolle entspricht
    • getOriginUser

      public String getOriginUser()
    • isAdmin

      public boolean isAdmin()
    • isGlobal

      public boolean isGlobal()
    • isTeacher

      public boolean isTeacher()
    • isStudent

      public boolean isStudent()
    • isPayingStudent

      public boolean isPayingStudent()
    • isMultipleLogin

      public boolean isMultipleLogin()
    • isExtern

      public boolean isExtern()
    • isAlias

      public boolean isAlias()