diff options
author | tailor <cygnus@janrain.com> | 2006-04-24 18:13:26 +0000 |
---|---|---|
committer | tailor <cygnus@janrain.com> | 2006-04-24 18:13:26 +0000 |
commit | 9fe157a92a14ee22518c33ba5723cfa9a902faae (patch) | |
tree | 880b4a4c3a53049af0d99a0ffd00fd9dbd01fc10 /examples/server/lib/actions.php | |
parent | e271bfe21ce79a7a788a4d4bac152e5ab3bef7d7 (diff) | |
download | php-openid-9fe157a92a14ee22518c33ba5723cfa9a902faae.zip php-openid-9fe157a92a14ee22518c33ba5723cfa9a902faae.tar.gz php-openid-9fe157a92a14ee22518c33ba5723cfa9a902faae.tar.bz2 |
[project @ Updated server example to work with new server impl]
Diffstat (limited to 'examples/server/lib/actions.php')
-rw-r--r-- | examples/server/lib/actions.php | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/examples/server/lib/actions.php b/examples/server/lib/actions.php index 546bdc6..3c331f6 100644 --- a/examples/server/lib/actions.php +++ b/examples/server/lib/actions.php @@ -14,8 +14,50 @@ require_once "Auth/OpenID.php"; */ function action_default() { - $server = getServer(); - return handleResponse($server->getOpenIDResponse('isTrusted')); + $server =& getServer(); + $method = $_SERVER['REQUEST_METHOD']; + $request = null; + if ($method == 'GET') { + $request = $_GET; + } else { + $request = $_POST; + } + + $request = Auth_OpenID::fixArgs($request); + $request = $server->decodeRequest($request); + + if (!$request) { + return about_render(); + } + + setRequestInfo($request); + + if (in_array($request->mode, + array('checkid_immediate', 'checkid_setup'))) { + + if (isTrusted($request->identity, $request->trust_root)) { + $response =& $request->answer(true); + } else if ($request->immediate) { + $response =& $request->answer(false, getServerURL()); + } else { + if (!getLoggedInUser()) { + return login_render(); + } + return trust_render($request); + } + } else { + $response =& $server->handleRequest($request); + } + + $webresponse =& $server->encodeResponse($response); + + foreach ($webresponse->headers as $k => $v) { + header("$k: $v"); + } + + header(header_connection_close); + print $webresponse->body; + exit(0); } /** @@ -72,7 +114,7 @@ function action_login() list ($errors, $openid_url) = login_checkInput($fields); if (count($errors) || !$openid_url) { - $needed = $info ? $info->getIdentityURL() : false; + $needed = $info ? $info->identity : false; return login_render($errors, @$fields['openid_url'], $needed); } else { setLoggedInUser($openid_url); @@ -92,7 +134,7 @@ function action_trust() $trusted = isset($_POST['trust']); if ($info && isset($_POST['remember'])) { $sites = getSessionSites(); - $sites[$info->getTrustRoot()] = $trusted; + $sites[$info->trust_root] = $trusted; setSessionSites($sites); } return doAuth($info, $trusted, true); |