/** * Process the current request * * $request - The current request parameters. Leave as NULL to default to use $_REQUEST. */ public static function process($request = NULL) { // Setup request variable Hybrid_Endpoint::$request = $request; if (is_null(Hybrid_Endpoint::$request)) { Hybrid_Endpoint::$request = $_REQUEST; } // If windows_live_channel requested, we return our windows_live WRAP_CHANNEL_URL if (isset(Hybrid_Endpoint::$request["get"]) && Hybrid_Endpoint::$request["get"] == "windows_live_channel") { Hybrid_Endpoint::processWindowsLiveChannel(); } // If openid_policy requested, we return our policy document if (isset(Hybrid_Endpoint::$request["get"]) && Hybrid_Endpoint::$request["get"] == "openid_policy") { Hybrid_Endpoint::processOpenidPolicy(); } // If openid_xrds requested, we return our XRDS document if (isset(Hybrid_Endpoint::$request["get"]) && Hybrid_Endpoint::$request["get"] == "openid_xrds") { Hybrid_Endpoint::processOpenidXRDS(); } // If we get a hauth.start if (isset(Hybrid_Endpoint::$request["hauth_start"]) && Hybrid_Endpoint::$request["hauth_start"]) { Hybrid_Endpoint::processAuthStart(); } elseif (isset(Hybrid_Endpoint::$request["hauth_done"]) && Hybrid_Endpoint::$request["hauth_done"]) { Hybrid_Endpoint::processAuthDone(); } else { Hybrid_Endpoint::processOpenidRealm(); } }
/** * Process the current request * * $request - The current request parameters. Leave as NULL to default to use $_REQUEST. */ public static function process($request = NULL) { // Setup request variable Hybrid_Endpoint::$request = $request; if (is_null(Hybrid_Endpoint::$request)) { // Fix a strange behavior when some provider call back ha endpoint // with /index.php?hauth.done={provider}?{args}... // >here we need to recreate the $_REQUEST if (strrpos($_SERVER["QUERY_STRING"], '?')) { $_SERVER["QUERY_STRING"] = str_replace("?", "&", $_SERVER["QUERY_STRING"]); parse_str($_SERVER["QUERY_STRING"], $_REQUEST); } Hybrid_Endpoint::$request = $_REQUEST; } // If windows_live_channel requested, we return our windows_live WRAP_CHANNEL_URL if (isset(Hybrid_Endpoint::$request["get"]) && Hybrid_Endpoint::$request["get"] == "windows_live_channel") { Hybrid_Endpoint::processWindowsLiveChannel(); } // If openid_policy requested, we return our policy document if (isset(Hybrid_Endpoint::$request["get"]) && Hybrid_Endpoint::$request["get"] == "openid_policy") { Hybrid_Endpoint::processOpenidPolicy(); } // If openid_xrds requested, we return our XRDS document if (isset(Hybrid_Endpoint::$request["get"]) && Hybrid_Endpoint::$request["get"] == "openid_xrds") { Hybrid_Endpoint::processOpenidXRDS(); } // If we get a hauth.start if (isset(Hybrid_Endpoint::$request["hauth_start"]) && Hybrid_Endpoint::$request["hauth_start"]) { Hybrid_Endpoint::processAuthStart(); } elseif (isset(Hybrid_Endpoint::$request["hauth_done"]) && Hybrid_Endpoint::$request["hauth_done"]) { Hybrid_Endpoint::processAuthDone(); } else { Hybrid_Endpoint::processOpenidRealm(); } }