@Override public Map<String, Object> verify(String token) throws TokenVerifyException { if(null == verifier) { verifier = new Verifier(); } return verifier.verify(token); }
@Override public void handle(Request request, Response response) throws Throwable { String token = null; Cookie cookie = cookieBean.getCookie(request); if(null != cookie) { token = cookie.getValue(); } if(null == token){ return; } Map<String, Object> claims = verifier.verify(token); claims.remove(JWT.CLAIM_EXPIRATION_TIME); token = signer.sign(claims); cookieBean.setCookie(request,response,token); }
protected TokenInfo verify(JwtVerifier verifier, String token) throws TokenVerifyException { Map<String,Object> jwtDetail; try { jwtDetail = verifier.verify(token); }catch (TokenVerifyException e) { refreshJwtVerifier(); jwtDetail = verifier.verify(token); } SimpleTokenInfo tokenInfo = new SimpleTokenInfo(); String userId = (String)jwtDetail.get(JWT.CLAIM_SUBJECT); tokenInfo.setUserId(userId); tokenInfo.setScope((String)jwtDetail.get("scope")); tokenInfo.setClientId((String)jwtDetail.get("client_id")); tokenInfo.setCreated(System.currentTimeMillis()); Object exp = jwtDetail.get(JWT.CLAIM_EXPIRATION_TIME); if (null != exp && exp instanceof Number) { long expirationTimeSecond = ((Number) exp).longValue(); long nowTimeInSecond = System.currentTimeMillis()/1000L; tokenInfo.setExpiresIn((int)(expirationTimeSecond-nowTimeInSecond)); } tokenInfo.setClaims(jwtDetail); return tokenInfo; }
@Override public Map<String, Object> verify(String token) throws TokenVerifyException { initVerifier(); Map<String, Object> claims = null; TokenVerifyException error = null; for(int i = 0; i < this.repeatCount; i ++){ try { claims = this.verifier.verify(token); break; }catch (TokenVerifyException t){ log.info("verifier token error for " + i + " times."); error = t; this.verifier = getVerifier(); } } if(claims == null && error != null){ throw error; } return claims; }
@Override public Map<String, Object> verify(String token) throws TokenVerifyException { initVerifier(); Map<String, Object> claims = null; TokenVerifyException error = null; for(int i = 0; i < this.repeatCount; i ++){ try { claims = this.verifier.verify(token); break; }catch (TokenVerifyException t){ log.info("verifier token error for " + i + " times."); error = t; this.verifier = getVerifier(); } } if(claims == null && error != null){ throw error; } return claims; }
throw new TokenVerifyException(TokenVerifyException.ErrorCode.VERIFY_FAILED, "the jwt verifier must be specified!"); Map<String,Object> jwtDetail = verifier.verify(token.getToken()); SimpleResAccessTokenDetails resAccessTokenDetails = new SimpleResAccessTokenDetails();
protected AuthzSSOSession newSession(Request request, Response response, AuthzAuthentication authc) { SimpleAuthzSSOSession session = new SimpleAuthzSSOSession(); UserPrincipal user = authc.getAuthentication().getUser(); String token = authc.getAuthentication().getToken(); Map<String, Object> claims = verifier.verify(token); session.setId((String) claims.get(JWT.CLAIM_JWT_ID)); session.setUserId(user.getIdAsString()); session.setUsername(user.getLoginName()); session.setToken(authc.getAuthentication().getToken()); session.setExpiresIn(config.getDefaultLoginSessionExpires()); session.setCreated(System.currentTimeMillis()); return session; }
protected AuthzSSOSession newSession(Request request, Response response, AuthzAuthentication authc) { SimpleAuthzSSOSession session = new SimpleAuthzSSOSession(); UserPrincipal user = authc.getAuthentication().getUser(); String token = authc.getAuthentication().getToken(); Map<String, Object> claims = verifier.verify(token); session.setId((String) claims.get(JwtTokenAuthenticator.JWT_ID)); session.setUserId(user.getIdAsString()); session.setUsername(user.getLoginName()); session.setToken(authc.getAuthentication().getToken()); session.setExpiresIn(config.getDefaultLoginSessionExpires()); session.setCreated(System.currentTimeMillis()); return session; }
String token = ((TokenCredentials) credentials).getToken(); Map<String, Object> claims = verifier.verify(token);