$tpl->template_dir = Config::get_config('install_path') . 'templates'; $tpl->compile_dir = ConfusaConstants::$SMARTY_TEMPLATES_C; $tpl->cache_dir = ConfusaConstants::$SMARTY_CACHE; $subscriber = $person->getSubscriber(); if (isset($subscriber)) { $help_email = $subscriber->getHelpEmail(); $tpl->assign('help_email', $help_email); } $tpl->assign('consent_val', $consent_val); $tpl->assign('consumer_key', $consumer_key); $tpl->assign('consumer_name', $consumer_info['name']); $tpl->assign('consumer_description', $consumer_info['description']); $tpl->assign('access_duration', $accTokenValidity); $translator = new Translator(); $translator->guessBestLanguage($person); $translator->decorateTemplate($tpl, 'oauth'); $tpl->display('api/oauth_consent.tpl'); break; case '/consent': $person = new Person(); $auth_idp = new Confusa_Auth_IdP($person); $auth_idp->authenticate(FALSE); if (!$person->isAuth()) { header("HTTP/1.1 412 Precondition Failed"); echo "May not call the consent endpoint before the user " . "authenticated with their IdP!"; exit; } if ($_SESSION['oauth_authZ'] !== TRUE) { header("HTTP/1.1 412 Precondition Failed"); echo "May not call the consent endpoint before the user " . "passed the authorization endpoint!"; exit;