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.DefaultClaims
private final boolean
static final String
Administrator der Schulestatic final String
Wird für Abos benutzt - MAYT fragen wozustatic final String
ein Externer Benutzer darf nur dann eine User-Category anlegen, wenn ROLE_CREATE_CATEGORY aktiv iststatic final String
Benutzer ist deaktiviertstatic final String
Externer Benutzerstatic final String
globaler Administratorstatic final String
mehrfacher Login zulässigstatic final String
zahlender Student für LeTTo-Privatestatic final String
Prefix für den Benutzernamen des Originalbenutzers wenn sich ein Lehrer/Admin als anderer User verkleidet hatstatic final String
Rolle für die Authentifizierung eines Server-Tokens, der an Lehrer/Admins anderer Schulen weitergegeben wirdstatic final String
Student der Schulestatic final String
Lehrer der Schulestatic final String
nur das aktuelle Schuljahr darf benutzt werdenstatic final String
MAYT fragenstatic final String
MAYT 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) 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
(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.Claims
calcAllClaimsFromToken
(String secret) io.jsonwebtoken.Jwt
private static Date
calculateExpirationDate
(Date createdDate, Long expiration) private String
checkSecret
(String secret) getEmail()
getId()
getPayload
(String key) getRoles()
String[]
long
boolean
Prüft ob der Token eine angegebenen Rolle hatboolean
isAdmin()
boolean
isAlias()
boolean
isExtern()
boolean
isGlobal()
boolean
boolean
boolean
boolean
boolean
boolean
isValid()
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_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()
-