Package at.letto.security
Class LettoToken
java.lang.Object
at.letto.security.LettoToken
Ein JWT-Token welcher in LeTTo verwendet wird als Objekt mit Methoden zur
Analyse des Tokens
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final io.jsonwebtoken.impl.DefaultClaimsprivate final booleanstatic final StringAdministrator der Schulestatic final StringRolle für einen AppTokenstatic final StringWird für Abos benutzt - MAYT fragen wozustatic final Stringein Externer Benutzer darf nur dann eine User-Category anlegen, wenn ROLE_CREATE_CATEGORY aktiv iststatic final StringBenutzer ist deaktiviertstatic final StringExterner Benutzerstatic final Stringglobaler Administratorstatic final Stringmehrfacher Login zulässigstatic final Stringzahlender Student für LeTTo-Privatestatic final StringPrefix für den Benutzernamen des Originalbenutzers wenn sich ein Lehrer/Admin als anderer User verkleidet hatstatic final StringRolle für die Authentifizierung eines Server-Tokens, der an Lehrer/Admins anderer Schulen weitergegeben wirdstatic final StringStudent der Schulestatic final StringLehrer der Schulestatic final Stringnur das aktuelle Schuljahr darf benutzt werdenstatic final StringMAYT fragenstatic final StringMAYT fragenprivate final String -
Constructor Summary
ConstructorsModifierConstructorDescriptionLettoToken(String token) Konstruktor für den Token, ohne Überprüfung des Secrets!!LettoToken(String token, boolean created, io.jsonwebtoken.impl.DefaultClaims claims) LettoToken(String secret, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles) LettoToken(String secret, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload) LettoToken(String token, String secret) LettoToken(String secret, String issuer, String audience, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles) LettoToken(String secret, String issuer, String audience, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload) privateLettoToken(String secret, String issuer, String audience, Date createDate, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload) LettoToken(String secret, String issuer, String audience, Date createDate, Date expirationDate, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload) -
Method Summary
Modifier and TypeMethodDescriptionprivate io.jsonwebtoken.ClaimscalcAllClaimsFromToken(String secret) io.jsonwebtoken.Jwtprivate static DatecalculateExpirationDate(Date createdDate, Long expiration) private StringcheckSecret(String secret) getEmail()getId()getPayload(String key) getRoles()String[]longbooleanPrüft ob der Token eine angegebenen Rolle hatbooleanisAdmin()booleanisAlias()booleanisExtern()booleanisGlobal()booleanbooleanbooleanbooleanbooleanbooleanisValid()refreshToken(String secret, long expiration) toString()
-
Field Details
-
ROLE_GLOBAL
globaler Administrator- See Also:
-
ROLE_EXTERN
Externer Benutzer- See Also:
-
ROLE_CHANGE_ABOS
Wird für Abos benutzt - MAYT fragen wozu- See Also:
-
ROLE_MULTIPLE_LOGIN
mehrfacher Login zulässig- See Also:
-
ROLE_PAYINGSTUDENT
zahlender Student für LeTTo-Private- See Also:
-
ROLE_STUDENT
Student der Schule- See Also:
-
ROLE_TEACHER
Lehrer der Schule- See Also:
-
ROLE_ADMIN
Administrator der Schule- See Also:
-
ROLE_DISABLED
Benutzer ist deaktiviert- See Also:
-
ROLE_USER_ABOS_CATEGORY
MAYT fragen- See Also:
-
ROLE_USER_ABOS_USER
MAYT fragen- See Also:
-
ROLE_USE_CURRENT_YEAR
nur das aktuelle Schuljahr darf benutzt werden- See Also:
-
ROLE_PREFIX_ORIGINUSER
Prefix für den Benutzernamen des Originalbenutzers wenn sich ein Lehrer/Admin als anderer User verkleidet hat- See Also:
-
ROLE_SERVER
Rolle für die Authentifizierung eines Server-Tokens, der an Lehrer/Admins anderer Schulen weitergegeben wird- See Also:
-
ROLE_APPTOKEN
Rolle für einen AppToken- See Also:
-
ROLE_CREATE_CATEGORY
ein Externer Benutzer darf nur dann eine User-Category anlegen, wenn ROLE_CREATE_CATEGORY aktiv ist- See Also:
-
token
-
created
private final boolean created -
claims
private final io.jsonwebtoken.impl.DefaultClaims claims
-
-
Constructor Details
-
LettoToken
-
LettoToken
-
LettoToken
Konstruktor für den Token, ohne Überprüfung des Secrets!!- Parameters:
token- Token als String
-
LettoToken
-
LettoToken
public LettoToken(String secret, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload) -
LettoToken
public LettoToken(String secret, String issuer, String audience, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles) -
LettoToken
public LettoToken(String secret, String issuer, String audience, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload) -
LettoToken
private LettoToken(String secret, String issuer, String audience, Date createDate, Long expiration, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload) -
LettoToken
public LettoToken(String secret, String issuer, String audience, Date createDate, Date expirationDate, String username, String vorname, String nachname, String activDirectoryname, String email, String sprache, Integer idUser, Integer idSchule, String school, String lettoUri, String serverRestkey, String serversession, List<String> roles, HashMap<String, String> payload)
-
-
Method Details
-
checkSecret
-
refreshToken
- Parameters:
secret- JWT-Secretexpiration- Lebensdauer in ms- Returns:
- Liefert einen neuen Token mit neuer Gültigkeitsdauer und sonst gleichen Daten
-
toString
-
calculateExpirationDate
-
getValidMillis
public long getValidMillis() -
getUsername
-
getExpirationDate
-
getCreatedDate
-
getIdUser
-
getIdSchule
-
getId
-
getVorname
-
getNachname
-
getActiveDirectoryName
-
getEmail
-
getSprache
-
getSchool
-
getLettoUri
-
getServerRestkey
-
getServersession
-
getIssuer
-
getAudience
-
getRoles
-
getPayload
-
getPayload
-
getRolesArray
-
calcAllClaimsFromToken
-
calcJwt
- 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
- Returns:
- true wenn der Token noch nicht abgelaufen ist
-
hasRole
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
-
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()
-