예제 #1
0
파일: oauth.php 프로젝트: henrikau/confusa
     $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;