RequestBuilder request = new RequestBuilder(VERIFY_LINK, HttpMethod.POST);
request.addParam("assertion", assertion);
request.addParam("audience", audience);
HttpResponse response = request.execute();
if (response.getResponseCode() != HttpServletResponse.SC_OK)
throw new IllegalStateException("Bad response code: " + response.getResponseCode());
Assertion result = MAPPER.readValue(response.getContentStream(), Assertion.class);
if (!"okay".equals(result.getStatus()))
throw new IllegalStateException("Bad assertion content: " + result);
if (result.getExpires() < System.currentTimeMillis())