Exemple #1
0
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'])) {