Package com.almis.awe.rest.service
Class JWTTokenService
java.lang.Object
com.almis.awe.config.ServiceConfig
com.almis.awe.rest.service.JWTTokenService
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
Util class to manage authentication with JWT tokens.
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionextractToken
(String authorizationHeader) Extract token from http Authorization headergenerateToken
(org.springframework.security.core.Authentication authentication, jakarta.servlet.http.HttpServletResponse response) Generate JWT Token and add it to http response as headercom.auth0.jwt.JWTVerifier
Get JWT verifiercom.auth0.jwt.interfaces.DecodedJWT
verifyToken
(String token) Verify token.Methods inherited from class com.almis.awe.config.ServiceConfig
containsBean, getApplicationContext, getBean, getBean, getElements, getLocale, getLocale, getProperty, getProperty, getRequest, getSession, setApplicationContext
-
Constructor Details
-
JWTTokenService
public JWTTokenService(String authorizationHeader, String prefix, String secret, String issuer, Duration expiration) JWTTokenService constructor- Parameters:
authorizationHeader
- HTTP Auth header nameprefix
- JWT token prefixsecret
- JWT token secretissuer
- JWT token issuerexpiration
- JWT token expiration
-
-
Method Details
-
getJWTVerifier
public com.auth0.jwt.JWTVerifier getJWTVerifier()Get JWT verifier -
generateToken
public JwtTokenInfo generateToken(org.springframework.security.core.Authentication authentication, jakarta.servlet.http.HttpServletResponse response) Generate JWT Token and add it to http response as header- Parameters:
authentication
- Authentication objectresponse
-HttpServletResponse
-
verifyToken
Verify token. Check if it has JWT format and if not expired- Parameters:
token
- JWT token- Returns:
- Decode JWT token
-
extractToken
Extract token from http Authorization header- Parameters:
authorizationHeader
- Authorization header value- Returns:
- JWT Token
-