/** * Creates authorities from claims from a JWT. * * @param claims The claims object to retrieve authorities from. * @return The authorities. * @throws NullPointerException is claims is {@code null}. */ public static Authorities from(final Claims claims) { Objects.requireNonNull(claims); final AuthoritiesImpl result = new AuthoritiesImpl(); claims.forEach((key, value) -> { if ((key.startsWith(PREFIX_OPERATION) || key.startsWith(PREFIX_RESOURCE)) && value instanceof String) { LOG.trace("adding claim [key: {}, value: {}]", key, value); result.authorities.put(key, (String) value); } else { LOG.trace("ignoring unsupported claim [key: {}]", key); } }); return result; }
/** * Creates authorities from claims from a JWT. * * @param claims The claims object to retrieve authorities from. * @return The authorities. * @throws NullPointerException is claims is {@code null}. */ public static Authorities from(final Claims claims) { Objects.requireNonNull(claims); final AuthoritiesImpl result = new AuthoritiesImpl(); claims.forEach((key, value) -> { if ((key.startsWith(PREFIX_OPERATION) || key.startsWith(PREFIX_RESOURCE)) && value instanceof String) { LOG.trace("adding claim [key: {}, value: {}]", key, value); result.authorities.put(key, (String) value); } else { LOG.trace("ignoring unsupported claim [key: {}]", key); } }); return result; }
private Authorities getAuthorities(final JsonObject user) { final AuthoritiesImpl result = new AuthoritiesImpl(); user.getJsonArray(FIELD_AUTHORITIES).forEach(obj -> { final String authority = (String) obj; final Authorities roleAuthorities = roles.get(authority); if (roleAuthorities != null) { result.addAll(roleAuthorities); } }); return result; }
private Authorities toAuthorities(final JsonArray authorities) { final AuthoritiesImpl result = new AuthoritiesImpl(); Objects.requireNonNull(authorities).stream() .filter(obj -> obj instanceof JsonObject)
/** * Verifies that the helper can create a token for a given set of * authorities and can then parse the token again. */ @Test public void testCreateAndExpandToken() { final Authorities authorities = new AuthoritiesImpl() .addResource("telemetry", "*", Activity.READ, Activity.WRITE) .addOperation("registration", "*", "assert"); final String token = helper.createToken("userA", authorities); final Jws<Claims> parsedToken = helper.expand(token); assertNotNull(parsedToken.getBody()); } }