use of io.jsonwebtoken.Claims in project sonarqube by SonarSource.
the class JwtHttpHandler method validateToken.
private Optional<Token> validateToken(String tokenEncoded, HttpServletRequest request, HttpServletResponse response) {
Optional<Claims> claims = jwtSerializer.decode(tokenEncoded);
if (!claims.isPresent()) {
return Optional.empty();
}
Date now = new Date(system2.now());
Claims token = claims.get();
if (now.after(addSeconds(token.getIssuedAt(), SESSION_DISCONNECT_IN_SECONDS))) {
return Optional.empty();
}
jwtCsrfVerifier.verifyState(request, (String) token.get(CSRF_JWT_PARAM), token.getSubject());
if (now.after(addSeconds(getLastRefreshDate(token), SESSION_REFRESH_IN_SECONDS))) {
refreshToken(token, request, response);
}
Optional<UserDto> user = selectUserFromDb(token.getSubject());
if (!user.isPresent()) {
return Optional.empty();
}
return Optional.of(new Token(user.get(), claims.get()));
}
use of io.jsonwebtoken.Claims in project code-chill by CodeChillAlluna.
the class JwtTokenUtil method refreshToken.
public String refreshToken(String token) {
final Date createdDate = clock.now();
final Date expirationDate = calculateExpirationDate(createdDate);
final Claims claims = getAllClaimsFromToken(token);
claims.setIssuedAt(createdDate);
claims.setExpiration(expirationDate);
return Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact();
}
use of io.jsonwebtoken.Claims in project nikita-noark5-core by HiOA-ABI.
the class JwtTokenUtil method getExpirationDateFromToken.
public Date getExpirationDateFromToken(String token) {
Date expiration;
try {
final Claims claims = getClaimsFromToken(token);
expiration = claims.getExpiration();
} catch (Exception e) {
expiration = null;
}
return expiration;
}
use of io.jsonwebtoken.Claims in project sic by belluccifranco.
the class JwtInterceptor method preHandle.
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
if (request.getMethod().equals("OPTIONS")) {
return true;
}
final String authHeader = request.getHeader("Authorization");
if (authHeader == null || !authHeader.startsWith("Bearer ")) {
throw new UnauthorizedException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_token_vacio_invalido"));
}
// The part after "Bearer "
final String token = authHeader.substring(7);
Claims claims;
try {
claims = Jwts.parser().setSigningKey(secretkey).parseClaimsJws(token).getBody();
request.setAttribute("claims", claims);
} catch (JwtException ex) {
throw new UnauthorizedException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_token_vacio_invalido"), ex);
}
long idUsuario = (int) claims.get("idUsuario");
Usuario usuario = usuarioService.getUsuarioPorId(idUsuario);
if (null == usuario || null == token) {
throw new UnauthorizedException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_token_vacio_invalido"));
} else if (!token.equalsIgnoreCase(usuario.getToken())) {
throw new UnauthorizedException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_token_invalido"));
}
return true;
}
use of io.jsonwebtoken.Claims in project ArachneCentralAPI by OHDSI.
the class TokenUtils method refreshToken.
public String refreshToken(String token) {
String refreshedToken;
try {
final Claims claims = getClaimsFromToken(token);
claims.put("created", generateCurrentDate());
refreshedToken = generateToken(claims);
} catch (Exception ex) {
log.debug(ex.getMessage(), ex);
refreshedToken = null;
}
return refreshedToken;
}
Aggregations