getAction() == OAuth_Provider::INITIATE)
{
list($token, $token_secret) = $demo->createTempToken($oauth->getActionDatas());
$oauth->answerInitiate($token, $token_secret);
}
elseif ($oauth->getAction() == OAuth_Provider::AUTHORIZE)
{
$datas = false;
if ($token = $oauth->getActionData('token'))
{
if (!($datas = $demo->getTempToken($token)))
{
$datas = false;
}
}
if (!$datas)
{
die("Invalid temporary token ".$token);
}
$app = $demo->getApp($datas['app']);
// Démo HTTP Basic Auth
// (le client envoie pseudo/mot de passe au serveur à la place du resource owner)
if ($app['allow_http_auth'] && !empty($_SERVER['PHP_AUTH_USER']) && !empty($_SERVER['PHP_AUTH_PW']))
{
if ($_SERVER['PHP_AUTH_USER'] == 'ok')
{
// login/pass ok
// on crée le vérifieur, et on le donne au truc qui fait la requête en retour
$verifier = $demo->createVerifier($token, $datas['callback']);
$url = $oauth->getAuthorizeCallbackUrl($datas['callback'], $verifier);
$url = parse_url($url);
header('HTTP/1.1 200 OK', true, 200);
header('Content-Type: application/x-www-form-urlencoded');
echo $url['query'];
exit;
}
else
{
header('HTTP/1.1 401 Unauthorized', true, 401);
echo "Invalid username";
exit;
}
}
if (!empty($_POST['yes']))
{
$verifier = $demo->createVerifier($token, $datas['callback']);
if ($url = $oauth->getAuthorizeCallbackUrl($datas['callback'], $verifier))
{
header('Location: '.$url);
exit;
}
else
{
// Si on arrive là c'est que la lib oauth dis que c'est du out of band,
// il faut afficher le code pour que le resource owner le recopie sur le client
echo "Vous devez recopier ce code : ".$verifier."
.";
exit;
}
}
elseif (!empty($_POST['no']))
{
$demo->deleteTempToken($oauth->getActionData('token'));
echo "Bon ben tant pis :(";
exit;
}
echo '