summaryrefslogtreecommitdiffstats
path: root/examples/server/lib/common.php
diff options
context:
space:
mode:
authortailor <cygnus@janrain.com>2006-04-24 18:13:26 +0000
committertailor <cygnus@janrain.com>2006-04-24 18:13:26 +0000
commit9fe157a92a14ee22518c33ba5723cfa9a902faae (patch)
tree880b4a4c3a53049af0d99a0ffd00fd9dbd01fc10 /examples/server/lib/common.php
parente271bfe21ce79a7a788a4d4bac152e5ab3bef7d7 (diff)
downloadphp-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/common.php')
-rw-r--r--examples/server/lib/common.php47
1 files changed, 14 insertions, 33 deletions
diff --git a/examples/server/lib/common.php b/examples/server/lib/common.php
index 338bad2..4bc1dac 100644
--- a/examples/server/lib/common.php
+++ b/examples/server/lib/common.php
@@ -16,38 +16,11 @@ function authCancel($info)
setRequestInfo();
$url = $info->getCancelURL();
} else {
- $server = getServer();
- $url = $server->server_url;
+ $url = getServerURL();
}
return redirect_render($url);
}
-function handleResponse($response, $do_auth=true)
-{
- list ($status, $info) = $response;
- switch($status) {
- case Auth_OpenID_REMOTE_ERROR:
- return kv_render($info, false);
- case Auth_OpenID_REMOTE_OK:
- return kv_render($info);
- case Auth_OpenID_REDIRECT:
- return redirect_render($info);
- case Auth_OpenID_DO_AUTH:
- if ($do_auth) {
- return doAuth($info);
- } else {
- return about_render('Got unexpected DO_AUTH');
- }
- case Auth_OpenID_DO_ABOUT:
- return about_render();
- case Auth_OpenID_LOCAL_ERROR:
- return about_render($info, false);
- default:
- $repr = var_export($status, true);
- return about_render("Internal error: unknown status $repr");
- }
-}
-
function doAuth($info, $trusted=null, $fail_cancels=false)
{
if (!$info) {
@@ -55,7 +28,7 @@ function doAuth($info, $trusted=null, $fail_cancels=false)
return authCancel(null);
}
- $req_url = $info->getIdentityURL();
+ $req_url = $info->identity;
$user = getLoggedInUser();
setRequestInfo($info);
@@ -64,14 +37,22 @@ function doAuth($info, $trusted=null, $fail_cancels=false)
}
$sites = getSessionSites();
- $trust_root = $info->getTrustRoot();
+ $trust_root = $info->trust_root;
$fail_cancels = $fail_cancels || isset($sites[$trust_root]);
$trusted = isset($trusted) ? $trusted : isTrusted($req_url, $trust_root);
if ($trusted) {
setRequestInfo();
- $server = getServer();
- $response = $server->getAuthResponse(&$info, true);
- return handleResponse($response, false);
+ $server =& getServer();
+ $response =& $info->answer(true);
+ $webresponse =& $server->encodeResponse($response);
+
+ $new_headers = array();
+
+ foreach ($webresponse->headers as $k => $v) {
+ $new_headers[] = $k.": ".$v;
+ }
+
+ return array($new_headers, $webresponse->body);
} elseif ($fail_cancels) {
return authCancel($info);
} else {