Esempio n. 1
0
 /**
  * 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
     Endpoint::$request = $request;
     if (is_null(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);
         }
         Endpoint::$request = $_REQUEST;
     }
     // If openid_policy requested, we return our policy document
     if (isset(Endpoint::$request["get"]) && Endpoint::$request["get"] == "openid_policy") {
         Endpoint::processOpenidPolicy();
     }
     // If openid_xrds requested, we return our XRDS document
     if (isset(Endpoint::$request["get"]) && Endpoint::$request["get"] == "openid_xrds") {
         Endpoint::processOpenidXRDS();
     }
     // If we get a hauth.start
     if (isset(Endpoint::$request["gk_start"]) && Endpoint::$request["gk_start"]) {
         Endpoint::processAuthStart();
     } elseif (isset(Endpoint::$request["gk_done"]) && Endpoint::$request["gk_done"]) {
         Endpoint::processAuthDone();
     } else {
         Endpoint::processOpenidRealm();
     }
 }