#!/usr/bin/env php 
<?php 
 
 
function _readline($prompt = '') { 
    echo $prompt; 
    return rtrim( fgets( STDIN ), "\n" ); 
} 
 
try { 
 
 
    /* This is the base directory of the simpleSAMLphp installation. */ 
    $baseDir = dirname(dirname(dirname(dirname(__FILE__)))); 
 
    /* Add library autoloader. */ 
    require_once($baseDir . '/lib/_autoload.php'); 
 
 
    require_once(dirname(dirname(__FILE__)) . '/libextinc/OAuth.php'); 
 
    // Needed in order to make session_start to be called before output is printed. 
    $session = SimpleSAML_Session::getSessionFromRequest(); 
 
    //$baseurl = (isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : 'https://foodle.feide.no/simplesaml'); 
    $baseurl = (isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : 'http://mars.foodle.local/simplesaml'); 
    $key = (isset($_SERVER['argv'][2]) ? $_SERVER['argv'][2] : 'key'); 
    $secret = (isset($_SERVER['argv'][3]) ? $_SERVER['argv'][3] : 'secret'); 
 
    echo 'Welcome to the OAuth CLI client' . "\n"; 
    $consumer = new sspmod_oauth_Consumer($key, $secret); 
 
    // Get the request token 
    $requestToken = $consumer->getRequestToken($baseurl . '/module.php/oauth/requestToken.php'); 
    echo "Got a request token from the OAuth service provider [" . $requestToken->key . "] with the secret [" . $requestToken->secret . "]\n"; 
 
    // Authorize the request token 
    $url = $consumer->getAuthorizeRequest($baseurl . '/module.php/oauth/authorize.php', $requestToken, FALSE); 
 
    echo('Go to this URL to authenticate/authorize the request: ' . $url . "\n"); 
    system('open ' . $url); 
 
    _readline('Click enter when you have completed the authorization step using your web browser...'); 
 
    // Replace the request token with an access token 
    $accessToken = $consumer->getAccessToken( $baseurl . '/module.php/oauth/accessToken.php', $requestToken); 
    echo "Got an access token from the OAuth service provider [" . $accessToken->key . "] with the secret [" . $accessToken->secret . "]\n"; 
 
    $userdata = $consumer->getUserInfo($baseurl . '/module.php/oauth/getUserInfo.php', $accessToken); 
 
 
    echo 'You are successfully authenticated to this Command Line CLI. ' . "\n"; 
    echo 'Got data [' . join(', ', array_keys($userdata)) . ']' . "\n"; 
    echo 'Your user ID is :  ' . $userdata['eduPersonPrincipalName'][0] . "\n"; 
 
} catch(Exception $e) { 
    echo 'Error occurred: ' . $e->getMessage() . "\n\n"; 
} 
 
 
 
 
 
 
 
 |