public static final AuthToken consumeToken(String encodedJson) throws IllegalArgumentException {
        String json = StringUtils.newStringUtf8(Base64.decodeBase64(encodedJson));
        AuthToken token = fromJSON(json);
        validateToken(token);
        return token;
    }
Consumes an auth token, validating it during the process.  If successful, the
{@link AuthToken} is returned.  If the token is invalid (expired or bad 
signature) then an {@link IllegalArgumentException} is thrown.  Any other 
error will result in a runtime exception.
@param encodedJson the raw token
@return the token
@throws IllegalArgumentException indicate that a method has been passed an 
illegal or inappropriate argument
common/auth/src/main/java/io/apiman/common/auth/AuthTokenUtil.java