Search in sources :

Example 1 with Claims

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()));
}
Also used : Claims(io.jsonwebtoken.Claims) UserDto(org.sonar.db.user.UserDto) Date(java.util.Date)

Example 2 with Claims

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();
}
Also used : Claims(io.jsonwebtoken.Claims) Date(java.util.Date)

Example 3 with Claims

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;
}
Also used : Claims(io.jsonwebtoken.Claims) Date(java.util.Date)

Example 4 with Claims

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;
}
Also used : Claims(io.jsonwebtoken.Claims) Usuario(sic.modelo.Usuario) UnauthorizedException(sic.controller.UnauthorizedException) JwtException(io.jsonwebtoken.JwtException)

Example 5 with Claims

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;
}
Also used : Claims(io.jsonwebtoken.Claims)

Aggregations

Claims (io.jsonwebtoken.Claims)129 Date (java.util.Date)25 Test (org.junit.Test)22 DefaultClaims (io.jsonwebtoken.impl.DefaultClaims)19 Test (org.testng.annotations.Test)19 SignatureException (io.jsonwebtoken.security.SignatureException)17 CloudStore (com.yahoo.athenz.zts.store.CloudStore)15 MockCloudStore (com.yahoo.athenz.zts.store.MockCloudStore)15 Principal (com.yahoo.athenz.auth.Principal)14 UserDto (org.sonar.db.user.UserDto)12 SessionTokenDto (org.sonar.db.user.SessionTokenDto)10 UserTesting.newUserDto (org.sonar.db.user.UserTesting.newUserDto)10 ExpiredJwtException (io.jsonwebtoken.ExpiredJwtException)9 JwtException (io.jsonwebtoken.JwtException)8 UnsupportedJwtException (io.jsonwebtoken.UnsupportedJwtException)8 MalformedJwtException (io.jsonwebtoken.MalformedJwtException)7 SignatureException (io.jsonwebtoken.SignatureException)7 List (java.util.List)7 ServiceException (com.zimbra.common.service.ServiceException)6 AuthFailedServiceException (com.zimbra.cs.account.AccountServiceException.AuthFailedServiceException)6