function introspectAccessToken(r) { if (r.variables.token_data) { tokenResult(r); // Existing response in key-value store so do validation } else { r.subrequest("/_oauth2_send_request", function(reply) { if (reply.status == 200) { r.variables.token_data = reply.responseText; // Create entry tokenResult(r); // Do validation of response } else { r.return(401); // Unexpected response, return auth-required } } ); } } function tokenResult(r) { var response = JSON.parse(r.variables.token_data); if (response.active) { r.return(204); } else { r.return(401); } } export default { introspectAccessToken }