public static Object getClaimValue(JsonWebToken token, String claim) { String[] split = claim.split("\\."); Map<String, Object> jsonObject = token.getOtherClaims(); for (int i = 0; i < split.length; i++) { if (i == split.length - 1) { return jsonObject.get(split[i]); } else { Object val = jsonObject.get(split[i]); if (!(val instanceof Map)) return null; jsonObject = (Map<String, Object>)val; } } return null; }
String id = idToken.getSubject(); BrokeredIdentityContext identity = new BrokeredIdentityContext(id); String name = (String)idToken.getOtherClaims().get(IDToken.NAME); String preferredUsername = (String)idToken.getOtherClaims().get(IDToken.PREFERRED_USERNAME); String email = (String)idToken.getOtherClaims().get(IDToken.EMAIL);