/** * define:endpoint step 3.1 and 3.2 */ public static function processAuthDone() { Hybrid_Endpoint::authInit(); // Fix a strange behavior when some provider call back ha endpoint // with /index.php?hauth.done={provider}?{args}... if (strrpos($_SERVER["QUERY_STRING"], '?')) { $_SERVER["QUERY_STRING"] = str_replace("?", "&", $_SERVER["QUERY_STRING"]); parse_str($_SERVER["QUERY_STRING"], Hybrid_Endpoint::$request); } $provider_id = trim(strip_tags(Hybrid_Endpoint::$request["hauth_done"])); $hauth = Hybrid_Auth::setup($provider_id); if (!$hauth) { Hybrid_Logger::error("Endpoint: Invalide parameter on hauth_done!"); $hauth->adapter->setUserUnconnected(); header("HTTP/1.0 404 Not Found"); die("Invalide parameter! Please return to the login page and try again."); } try { Hybrid_Logger::info("Endpoint: call adapter [{$provider_id}] loginFinish() "); $hauth->adapter->loginFinish(); } catch (Exception $e) { Hybrid_Logger::error("Exception:" . $e->getMessage(), $e); Hybrid_Error::setError($e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e); $hauth->adapter->setUserUnconnected(); } Hybrid_Logger::info("Endpoint: job done. retrun to callback url."); $hauth->returnToCallbackUrl(); die; }
/** * define:endpoint step 3.1 and 3.2 */ public static function processAuthDone() { Hybrid_Endpoint::authInit(); $provider_id = trim(strip_tags(Hybrid_Endpoint::$request["hauth_done"])); $hauth = Hybrid_Auth::setup($provider_id); if (!$hauth) { Hybrid_Logger::error("Endpoint: Invalide parameter on hauth_done!"); $hauth->adapter->setUserUnconnected(); header("HTTP/1.0 404 Not Found"); die("Invalide parameter! Please return to the login page and try again."); } try { Hybrid_Logger::info("Endpoint: call adapter [{$provider_id}] loginFinish() "); $hauth->adapter->loginFinish(); } catch (Exception $e) { Hybrid_Logger::error("Exception:" . $e->getMessage(), $e); Hybrid_Error::setError($e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e); $hauth->adapter->setUserUnconnected(); } Hybrid_Logger::info("Endpoint: job done. retrun to callback url."); $hauth->returnToCallbackUrl(); die; }
/** * define:endpoint step 3.1 and 3.2 */ public static function processAuthDone() { Hybrid_Endpoint::authInit(); $provider_id = trim(strip_tags(Hybrid_Endpoint::$request["hauth_done"])); # check if page accessed directly if (!Hybrid_Auth::storage()->get("hauth_session.{$provider_id}.hauth_endpoint")) { throw new Hybrid_Exception("You cannot access this page directly."); } $hauth = Hybrid_Auth::setup($provider_id); if (!$hauth) { $hauth->adapter->setUserUnconnected(); throw new Hybrid_Exception("Invalid parameter! Please return to the login page and try again."); } try { $hauth->adapter->loginFinish(); } catch (Exception $e) { Hybrid_Error::setError($e->getMessage(), $e->getCode()); $hauth->adapter->setUserUnconnected(); } $hauth->returnToCallbackUrl(); die; }