if ($userId && $appUrl && $categories) { if ($currUser == $userId) { if (isset($_POST['allow'])) { //TODO: check if this can be faked by editing the cookie in firebug! $token = OC_remoteStorage::createCategories($appUrl, $categories); header('Location: ' . $_GET['redirect_uri'] . '#access_token=' . $token . '&token_type=bearer'); } else { if ($existingToken = OC_remoteStorage::getTokenFor($appUrl, $categories)) { header('Location: ' . $_GET['redirect_uri'] . '#access_token=' . $existingToken . '&token_type=bearer'); } else { //params ok, logged in ok, but need to click Allow still: $appUrlParts = explode('/', $_GET['redirect_uri']); $host = $appUrlParts[2]; $categories = explode(',', $_GET['scope']); OCP\Util::addStyle('', 'auth'); OCP\Template::printGuestPage('remoteStorage', 'auth', array('host' => $host, 'categories' => $categories)); } } //end 'need to click Allow still' } else { //login not ok if ($currUser) { die('You are logged in as ' . $currUser . ' instead of ' . htmlentities($userId)); } else { // this will display the login page for us OCP\Util::checkLoggedIn(); } } } else { //params not ok die('please use e.g. ' . OCP\Util::linkTo('remoteStorage', 'auth.php') . '?userid=admin&redirect_uri=http://host/path&scope=...');
<?php OCP\App::checkAppEnabled('user_openid_provider'); set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . '/3rdparty'); require_once 'Zend/OpenId/Provider.php'; if (!isset($_REQUEST['openid_mode'])) { OCP\Template::printGuestPage('user_openid_provider', 'main'); die; } $session = new OC_OpenIdProviderUserSession(); $storage = new OC_OpenIdProviderStorage(); $server = new Zend_OpenId_Provider(null, null, $session, $storage); if (OCP\User::isLoggedIn() and !$session->getLoggedInUser()) { $session->setLoggedInUser(OCP\Util::linkToAbsolute('', '?') . OCP\User::getUser()); } if (isset($_GET['openid_action']) and $_GET['openid_action'] == 'login') { unset($_GET['openid_action']); $params = '?' . Zend_OpenId::paramsToQuery($_GET); $next = OCP\Util::linkToRemote('openid_provider') . $params; $loginPage = OCP\Util::linkToAbsolute('', 'index.php') . '?redirect_url=' . urlencode($next); header('Location: ' . $loginPage); } else { if (isset($_GET['openid_action']) and $_GET['openid_action'] == 'trust') { OCP\User::checkLoggedIn(); if (isset($_POST['allow'])) { if (isset($_POST['forever'])) { $server->allowSite($server->getSiteRoot($_GET)); } $server->respondToConsumer($_GET); } else { if (isset($_POST['deny'])) {