Jwt jwt = JwtHelper.decode(token); jwt.verifySignature(verifier);
protected Map<String, Object> decode(String token) { try { Jwt jwt = JwtHelper.decodeAndVerify(token, verifier); String claimsStr = jwt.getClaims(); Map<String, Object> claims = objectMapper.parseMap(claimsStr); if (claims.containsKey(EXP) && claims.get(EXP) instanceof Integer) { Integer intValue = (Integer) claims.get(EXP); claims.put(EXP, new Long(intValue)); } this.getJwtClaimsSetVerifier().verify(claims); return claims; } catch (Exception e) { throw new InvalidTokenException("Cannot convert access token to JSON", e); } }
protected String encode(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { String content; try { content = objectMapper.formatMap(tokenConverter.convertAccessToken(accessToken, authentication)); } catch (Exception e) { throw new IllegalStateException("Cannot convert access token to JSON", e); } String token = JwtHelper.encode(content, signer).getEncoded(); return token; }
try { Map<String, Object> claims = objectMapper .parseMap(JwtHelper.decode(refreshToken.getValue()).getClaims()); if (claims.containsKey(TOKEN_ID)) { encodedRefreshToken.setValue(claims.get(TOKEN_ID).toString());
public static Jwt encode(CharSequence content, Signer signer) { return encode(content, signer, Collections.<String, String>emptyMap()); }
private Map<String, Object> decodeJwtMap(final String token, final OAuthPublicKey keyExchangePublicKey) { final RsaVerifier rsaVerifier = new RsaVerifier(keyExchangePublicKey.getPublicKey()); final Jwt jwt = JwtHelper.decodeAndVerify(token, rsaVerifier); final String content = jwt.getClaims(); final Map<String, Object> map = objectMapper.parseMap(content); if (map.containsKey(EXP) && map.get(EXP) instanceof Integer) { final Integer intValue = (Integer) map.get(EXP); map.put(EXP, Long.valueOf(intValue)); } return map; } }
public static Map<String, String> headers(String token) { JwtImpl jwt = (JwtImpl) decode(token); Map<String, String> map = new LinkedHashMap<String, String>(jwt.header.parameters.map); map.put("alg", jwt.header.parameters.alg); if (jwt.header.parameters.typ!=null) { map.put("typ", jwt.header.parameters.typ); } return map; }
protected String encode(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { String content; try { content = objectMapper.formatMap(tokenConverter.convertAccessToken(accessToken, authentication)); } catch (Exception e) { throw new IllegalStateException("Cannot convert access token to JSON", e); } String token = JwtHelper.encode(content, signer).getEncoded(); return token; }
public Map<String, Object> decodeAndVerify (String token) { File file = new File(PUBLIC_KEY_LOCATION); try (FileInputStream inputStream = new FileInputStream(file)) { CertificateFactory certificateFactory = CertificateFactory.getInstance(X509_CERTFICATE); Certificate certificate = certificateFactory.generateCertificate(inputStream); RSAPublicKeyImpl publicKey = (RSAPublicKeyImpl) certificate.getPublicKey(); RsaVerifier verifier = new RsaVerifier(publicKey); Jwt jwt = JwtHelper.decodeAndVerify(token, verifier); String content = jwt.getClaims(); Map<String, Object> map = objectMapper.parseMap(content); if (map.containsKey(EXP) && map.get(EXP) instanceof Integer) { Integer intValue = (Integer) map.get(EXP); map.put(EXP, new Long(intValue)); } return map; } catch (Exception e) { throw new InvalidTokenException("Cannot convert access token to JSON", e); } } }
public static Jwt decodeAndVerify(String token, SignatureVerifier verifier) { Jwt jwt = decode(token); jwt.verifySignature(verifier); return jwt; }
@Override public void apply(RequestTemplate template) { try { String token = null; if (SecurityContextHolder.getContext() != null && SecurityContextHolder.getContext().getAuthentication() != null && SecurityContextHolder.getContext().getAuthentication().getDetails() instanceof OAuth2AuthenticationDetails) { OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails) SecurityContextHolder .getContext().getAuthentication().getDetails(); if (details.getTokenType() != null && details.getTokenValue() != null) { token = details.getTokenType() + " " + details.getTokenValue(); } else if (details.getDecodedDetails() instanceof CustomUserDetails) { token = OAUTH_TOKEN_PREFIX + JwtHelper.encode(OBJECT_MAPPER.writeValueAsString(details.getDecodedDetails()), signer).getEncoded(); } } if (token == null) { token = OAUTH_TOKEN_PREFIX + JwtHelper.encode(OBJECT_MAPPER.writeValueAsString(defaultUserDetails), signer).getEncoded(); } template.header(RequestVariableHolder.HEADER_JWT, token); setLabel(template); } catch (Exception e) { LOGGER.error("generate jwt token failed {}", e); } }
protected Map<String, Object> decode(String token) { try { Jwt jwt = JwtHelper.decodeAndVerify(token, verifier); String claimsStr = jwt.getClaims(); Map<String, Object> claims = objectMapper.parseMap(claimsStr); if (claims.containsKey(EXP) && claims.get(EXP) instanceof Integer) { Integer intValue = (Integer) claims.get(EXP); claims.put(EXP, new Long(intValue)); } this.getJwtClaimsSetVerifier().verify(claims); return claims; } catch (Exception e) { throw new InvalidTokenException("Cannot convert access token to JSON", e); } }
@Override public Jwt getJwt(String authentication) { return JwtHelper.decode(StringUtils.substring(authentication, BEARER_BEGIN_INDEX)); } }
@Override public void apply(RequestTemplate template) { if (HystrixRequestContext.isCurrentThreadInitialized()) { String token = HystrixHeaderInterceptor.token.get(); String label = HystrixHeaderInterceptor.label.get(); if (token != null) { template.header(HystrixHeaderInterceptor.HEADER_TOKEN, token); }else { try { String jwtToken = "Bearer " + JwtHelper.encode(OBJECT_MAPPER.writeValueAsString(DEFAULT_USER), SIGNER).getEncoded(); LOGGER.info("token {}",jwtToken); template.header(HystrixHeaderInterceptor.HEADER_TOKEN, jwtToken); } catch (IOException e) { LOGGER.info("error {}",e); } } if (label != null) { template.header(HystrixHeaderInterceptor.HEADER_LABEL, label); } }else { try { String jwtToken = "Bearer " + JwtHelper.encode(OBJECT_MAPPER.writeValueAsString(DEFAULT_USER), SIGNER).getEncoded(); LOGGER.info("token {}",jwtToken); template.header(HystrixHeaderInterceptor.HEADER_TOKEN, jwtToken); } catch (IOException e) { LOGGER.info("error {}",e); } } }
private void decodeAndVerify(String tokenString) { try { JwtHelper.decodeAndVerify(tokenString, getSignatureVerifier(getCachedTokenKey())); } catch (InvalidSignatureException e) { throw new InvalidTokenException(e.getMessage(), e); } }
@Override public Jwt getJwt(String authentication) { return JwtHelper.decode(StringUtils.substring(authentication, BEARER_BEGIN_INDEX)); } }
public String getBearerToken(final String scope) { final ZonedDateTime soon = ZonedDateTime.now().plusDays(365); final String jwtToken = "{\n" + " \"aud\": [\n" + " \"" + aud + "\"\n" + " ],\n" + " \"exp\": " + soon.toEpochSecond() + ",\n" + " \"user_name\": \"3d44bbc24614e28edd094bc54ef0497809717af5\",\n" + " \"jti\": \"3cee521d-96a7-4d82-b726-7e02355f3a55\",\n" + " \"client_id\": \"fe0661e5a99e4d43bd3496cc6c58025f\",\n" + " \"scope\": [\n" + " \"" + scope + "\"\n" + " ]\n" + "}"; final RsaSigner rsaSigner = new RsaSigner((RSAPrivateKey) keyPair.getPrivate()); final Jwt encode = JwtHelper.encode(jwtToken, rsaSigner); return "Bearer " + encode.getEncoded(); } }
@Test public void tokenWhenUsingClientCredentialsThenIsValid() throws Exception { MvcResult result = this.mvc .perform(post("/oauth/token").with(CLIENT_CREDENTIALS) .param("grant_type", "client_credentials").param("scope", "any")) .andExpect(status().isOk()).andReturn(); String accessToken = extract(result, "access_token"); JwtHelper.decodeAndVerify(accessToken, new RsaVerifier(privateKeyValue)); }
public static Claims createFrom(ObjectMapper jsonMapper, OAuth2AccessToken accessToken) { try { String idToken = accessToken.getAdditionalInformation().get("id_token").toString(); Jwt decodedToken = JwtHelper.decode(idToken); return jsonMapper.readValue(decodedToken.getClaims(), Claims.class); } catch (IOException e) { throw new RuntimeException(e); } }
public static Claims createFrom(ObjectMapper jsonMapper, OAuth2AccessToken accessToken) { try { String idToken = accessToken.getAdditionalInformation().get("id_token").toString(); Jwt decodedToken = JwtHelper.decode(idToken); return jsonMapper.readValue(decodedToken.getClaims(), Claims.class); } catch (IOException e) { throw new RuntimeException(e); } }