function action_tryAuth() { $type = $_POST['type']; if (isset($_GET['openid_mode']) && $_GET['openid_mode'] == 'cancel') { $this->request->redirect('auth/login'); return; } $openid = new LightOpenID(); $openid->returnUrl = url::site('auth/finishAuth', TRUE); $openid->required = array('namePerson/friendly', 'contact/email', 'namePerson/first', 'namePerson/last', 'namePerson'); if ($type == 'google') { $openid->identity = 'https://www.google.com/accounts/o8/id'; $url = $openid->authUrl(TRUE); } else { if ($type == 'yahoo') { $openid->identity = 'https://me.yahoo.com'; } else { /* FIXME - flash error message - no type provided*/ $this->request->required('auth/login'); } } if (!isset($url)) { $url = $openid->authUrl(); } $this->request->redirect($url); }
/** * {@inheritdoc} */ function loginBegin() { if (empty($this->openidIdentifier)) { throw new Exception("OpenID adapter require the identity provider identifier 'openid_identifier' as an extra parameter.", 4); } $this->api->identity = $this->openidIdentifier; $this->api->returnUrl = $this->endpoint; $this->api->required = array('namePerson/first', 'namePerson/last', 'namePerson/friendly', 'namePerson', 'contact/email', 'birthDate', 'birthDate/birthDay', 'birthDate/birthMonth', 'birthDate/birthYear', 'person/gender', 'pref/language', 'contact/postalCode/home', 'contact/city/home', 'contact/country/home', 'media/image/default'); # redirect the user to the provider authentication url Hybrid_Auth::redirect($this->api->authUrl()); }
public function register(Application $app) { $app->before(function () use($app) { $app['session']->start(); if ($app['request']->get('_route') == 'logout') { return; } if (!$app['session']->has('username')) { $openid = new \LightOpenID($_SERVER['SERVER_NAME']); if (!$openid->mode) { $openid->identity = 'https://www.google.com/accounts/o8/id'; $openid->required = array('email' => 'contact/email', 'firstname' => 'namePerson/first', 'lastname' => 'namePerson/last'); return $app->redirect($openid->authUrl()); } else { if ($openid->validate()) { $attributes = $openid->getAttributes(); $app['session']->set('username', $attributes['contact/email']); $app['session']->set('fullname', $attributes['namePerson/first'] . ' ' . $attributes['namePerson/last']); } } } $app['twig']->addGlobal('username', $app['session']->get('username')); $app['twig']->addGlobal('fullname', $app['session']->get('fullname')); if (isset($app['auth']) && !$app['auth']($app['session']->get('username'))) { $app['session']->remove('username'); $app['session']->remove('fullname'); return new Response($app['twig']->render('forbidden.html.twig'), 403); } }); }
function steamOauth() { $openid = new LightOpenID(SB_HOST); if (!$openid->mode) { $openid->identity = 'http://steamcommunity.com/openid'; header("Location: " . $openid->authUrl()); exit; } elseif ($openid->mode == 'cancel') { // User canceled auth. return false; } else { if ($openid->validate()) { $id = $openid->identity; $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); if (!empty($matches[1])) { return $matches[1]; } return null; } else { // Not valid return false; } } }
public function getLogin() { if (!Auth::guest()) { return Redirect::action('HomeController@getIndex'); } try { # Change 'localhost' to your domain name. $openid = new LightOpenID($_SERVER['HTTP_HOST']); if (!$openid->mode) { $openid->identity = 'http://steamcommunity.com/openid'; return Redirect::to($openid->authUrl()); } elseif ($openid->mode == 'cancel') { echo 'User has canceled authentication!'; } else { if ($openid->validate()) { $id = $openid->identity; // identity is something like: http://steamcommunity.com/openid/id/76561197994761333 // we only care about the unique account ID at the end of the URL. $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); $steamid = $matches[1]; $this->fetch_username($steamid); $this->fetch_backpack($steamid); Auth::loginUsingId($steamid, true); return Redirect::action('HomeController@getIndex'); } else { echo "User is not logged in.\n"; } } } catch (ErrorException $e) { echo $e->getMessage(); } }
public static function steamLogin() { if (!isset($_SESSION['steamId'])) { $openid = new LightOpenID('http://192.168.13.37/?/LoginRedirect/steamLogin'); if (!$openid->mode && isset($_GET['login'])) { $openid->identity = 'http://steamcommunity.com/openid/?l=english'; // This is forcing english because it has a weird habit of selecting a random language otherwise header('Location: ' . $openid->authUrl()); } elseif ($openid->mode == 'cancel') { echo 'User has canceled authentication!'; } elseif ($openid->validate()) { $id = $openid->identity; // identity is something like: http://steamcommunity.com/openid/id/76561197960435530 // we only care about the unique account ID at the end of the URL. $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); $_SESSION['steamId'] = $matches[1]; // Looks like we have everything we need, so lets send him to userlanding return UserLanding::currentUserCheck(); } else { echo "<a href='http://192.168.13.37/?/LoginRedirect/steamLogin'>Try again</a>"; } } else { return UserLanding::currentUserCheck(); } }
public function loginAction() { $provider = $this->getRequest()->getParam('provider'); if ($provider) { try { require_once 'LightOpenID.php'; $openid = new LightOpenID(); if (!$openid->mode) { switch ($provider) { case 'google': $openid->identity = 'https://www.google.com/accounts/o8/id'; $openid->required = array('namePerson/first', 'namePerson/last', 'contact/email'); header('Location: ' . $openid->authUrl()); default: $this->_helper->flashMessenger('Provider not found'); } } elseif ($openid->mode == 'cancel') { // Cancelled } else { // if ($openid->validate()) { $this->loginSuccessful($openid); // } else { // Logged Out // } } } catch (Exception $e) { print $e->getMessage(); } } }
function steamlogin() { try { // Change 'localhost' to your domain name. $openid = new LightOpenID('example.com'); if (!$openid->mode) { if (isset($_GET['login'])) { $openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $openid->authUrl()); } echo "<form action=\"?login\" method=\"post\"> <input type=\"image\" src=\"http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_large_border.png\"></form>"; } elseif ($openid->mode == 'cancel') { echo 'User has canceled authentication!'; } else { if ($openid->validate()) { $id = $openid->identity; $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); session_start(); $_SESSION['steamid'] = $matches[1]; header('Location: ' . $_SERVER['REQUEST_URI']); } else { echo "User is not logged in.\n"; } } } catch (ErrorException $e) { echo $e->getMessage(); } }
public function prepare() { global $session; $this->template = ''; if ($session->valid()) { $this->template = 'openid_success'; return; } global $settings, $session; try { if (!isset($_GET['openid_mode'])) { $openid = new LightOpenID(); $openid->identity = $settings['openid']['provider']; header('Location: ' . $openid->authUrl()); } elseif ($_GET['openid_mode'] == 'cancel') { $this->template = 'openid_error'; } else { $openid = new LightOpenID(); if ($openid->validate()) { $identity = $openid->identity; $session->openid_login($identity); //echo $identity; //var_dump($session); $this->template = 'openid_success'; global $SITE; $SITE['head'] .= '<meta http-equiv="refresh" content="3;url=//tf2stats.net">'; } else { $this->template = 'openid_error'; } } } catch (ErrorException $e) { $this->template = 'openid_error'; } }
/** * Try do OpenID validation (with the given redirect). * @return the validated LightOpenID object on success * @throws UserSignupException if anything bad happened */ static function validateOpenID($openid, $redirect) { if (!is_valid_url($openid)) { throw new UserSignupException("That is not a valid OpenID identity."); } if (!$redirect) { throw new \InvalidArgumentException("No redirect provided."); } $light = new \LightOpenID(\Openclerk\Config::get("openid_host")); if (!$light->mode) { // we still need to authenticate $light->identity = $openid; $light->returnUrl = $redirect; redirect($light->authUrl()); return false; } else { if ($light->mode == 'cancel') { // user has cancelled throw new UserSignupException("User has cancelled authentication."); } else { // otherwise login as necessary // optionally check for abuse etc if (!\Openclerk\Events::trigger('openid_validate', $light)) { throw new UserSignupException("Login was cancelled by the system."); } if ($light->validate()) { return $light; } else { $error = $light->validate_error ? $light->validate_error : "Please try again."; throw new UserSignupException("OpenID validation was not successful: " . $error); } } } }
function steamlogin() { try { require "settings.php"; $openid = new LightOpenID($steamauth['domainname']); $button['small'] = "small"; $button['large_no'] = "large_noborder"; $button['large'] = "large_border"; $button = $button[$steamauth['buttonstyle']]; if (!$openid->mode) { if (isset($_GET['login'])) { $openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $openid->authUrl()); } echo "<form action=\"?login\" method=\"post\"> <input class=\"design_login\" type=\"image\" src=\"img/Login.png\"></form>"; } elseif ($openid->mode == 'cancel') { echo 'User has canceled authentication!'; } else { if ($openid->validate()) { $id = $openid->identity; $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); $_SESSION['steamid'] = $matches[1]; if (isset($steamauth['loginpage'])) { header('Location: index.php'); } } else { echo "User is not logged in.\n"; } } } catch (ErrorException $e) { echo $e->getMessage(); } }
/** * Log a user in. This function handles both stages of the process. * Firstly goes to google to get the users id, * Secondly gets the returned google id and saves it * * @return void * @author Nick Sheffield **/ function login() { $openid = new LightOpenID(); // if the process hasn't been started yet, go to google and start it if (!$openid->mode) { $openid->identity = 'https://www.google.com/accounts/o8/id'; header('Location: ' . $openid->authUrl()); echo $openid->authUrl(); // if the process has been started already, save the resulting id } else { $openid->validate(); $_SESSION['id'] = $openid->identity; header('Location: /unread'); exit; } }
public static function getUserEmail() { $encrypt_content = isset($_COOKIE[self::COOKIE_ID]) ? trim($_COOKIE[self::COOKIE_ID]) : null; if ($encrypt_content) { $content = self::decrypt($encrypt_content); list($email, $userName) = explode(self::USER_EMAIL_SPLITTER, $content); return array('email' => $email, 'userName' => $userName); } $openid = new LightOpenID($_SERVER['HTTP_HOST']); if (!$openid->mode) { $openid->identity = 'https://www.google.com/accounts/o8/id'; $openid->required = array('contact/email', 'namePerson/first', 'namePerson/last'); header('Location: ' . $openid->authUrl()); die; } elseif ($openid->mode != 'cancel' && $openid->validate()) { $data = $openid->getAttributes(); $email = $data['contact/email']; $userName = $data['namePerson/last'] . $data['namePerson/first']; $content = $email . self::USER_EMAIL_SPLITTER . $userName; $encrypt_content = self::encrypt($content); $_COOKIE[self::COOKIE_ID] = $encrypt_content; $expire = self::COOKIE_EXPIRE_TIME + time(); setcookie(self::COOKIE_ID, $encrypt_content, $expire); return array('email' => $email, 'userName' => $userName); } return array(); }
/** * 處理 OpenID 登入 * GET login/openid */ public function openIDLogin() { try { // $openid = new LightOpenID('my-host.example.org'); $openid = new LightOpenID('http://10.231.87.100:81/'); if (!$openid->mode) { // 第一步驟 // 設定 $openid->identity = 'http://openid.ntpc.edu.tw/'; // 要求取得之資料欄位 $openid->required = array('namePerson', 'pref/timezone'); // 會先到 輸入帳密登入頁面 // 再到 同意 / 不同意 授權頁面 return Redirect::to($openid->authUrl()); } elseif ($openid->mode == 'cancel') { // 使用者取消(不同意授權) return Redirect::to('/'); // 導回首頁 } else { // 使用者同意授權 // 此時 $openid->mode = "id_res" if ($openid->validate()) { // 通過驗證,也同意授權 // 取得資料 $attr = $openid->getAttributes(); // return dd($attr); // 將取得之資料帶到下一個步驟進行處理 // 要有相對應的路由設定 return Redirect::action('AuthController@showUserData', ['user' => $attr]); } } } catch (ErrorException $e) { echo $e->getMessage(); } }
/** Launch OpenID request. */ protected function requestID($url = null) { // openid form login $openid = new LightOpenID(); $openid->identity = $url; $openid->required = array('contact/email', 'namePerson/friendly'); //$openid->optional = array('namePerson/friendly'); $this->redirect($openid->authUrl()); }
/** * Redirect to the service provider web site for login. */ public function goToProvider() { $provider = $this->lang['loginlist'][$this->provider]; $openid = new LightOpenID('renshuu.paazmaya.com'); $openid->returnUrl = 'http://' . $_SERVER['HTTP_HOST'] . '/login/' . $this->provider; $openid->required = array('contact/email', 'namePerson'); $openid->identity = $provider['href']; header('Location: ' . $openid->authUrl()); }
/** * Redirects the user to the OpenID provider for authentication. * * @return void */ public function _makeOpenIDRequest() { $this->LightOpenID->realm = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST']; $this->LightOpenID->returnUrl = $this->LightOpenID->realm . $_SERVER['REQUEST_URI']; $this->LightOpenID->identity = 'https://www.google.com/accounts/o8/id'; $this->LightOpenID->required = array($this->userAttributes['firstname'], $this->userAttributes['lastname'], $this->userAttributes['email']); $this->LightOpenID->optional = array(); $this->redirect($this->LightOpenID->authUrl()); }
static function LoadPage($PageName, $Wrapper = true) { if (KERNEL::IsValidPage($PageName) == false) { KERNEL::OnError("Attempt to load invalid page '" . $PageName . "'"); } if (!is_null(KERNEL::$Pages[$PageName][2])) { $Result = call_user_func(KERNEL::$Pages[$PageName][2]); if ($Result !== true) { KERNEL::OnError("Access Denied - " . $Result); die(""); // Force cancel just incase } } if ($Wrapper) { global $GMDConfig; $OpenID = new LightOpenID($GMDConfig["Domain"]); if ($OpenID->validate()) { $ID = $OpenID->identity; $URL_Parts = explode("/", $ID); // Get their SteamID $CommunityID = $URL_Parts[sizeof($URL_Parts) - 1]; $SteamID = CommunityToSteam($CommunityID); // Try and authenticate them $User = User::GetByField("User", "SteamID", $SteamID); if ($User->IsReal()) { $User->AuthToUser(); } else { User::RegisterUser($SteamID, $_SERVER['REMOTE_ADDR'])->AuthToUser(); } KERNEL::HardNavigate("home"); } elseif ($_GET["page"] == "login") { if (User::$ActiveUser != false) { if (isset($_GET["logout"])) { User::Logout(); } KERNEL::HardNavigate("home"); } else { $OpenID->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $OpenID->authUrl()); } } LightOpenID::revalidate(); } global $OutputData; $OutputData = ""; if ($Wrapper) { require "includes/util/header.php"; } require "pages/" . $PageName . "/_process.php"; require "pages/" . $PageName . "/_display.php"; echo $OutputData; if ($Wrapper) { require "includes/util/footer.php"; } }
function LoginButton() { if (isset($_POST['logout'])) { unset($_POST); session_destroy(); return 'Logged out.'; } if (!isset($_SESSION['sid']) && isset($_SERVER['REQUEST_METHOD'])) { try { // Change 'localhost' to your domain name. $openid = new LightOpenID('http://endgame.tf'); //$openid = new LightOpenID('http://76.164.223.234'); //elseif ( is_v4() ) $openid = new LightOpenID( 'http://65.111.166.150' ); if (!$openid->mode) { if (isset($_GET['login'])) { $openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $openid->authUrl()); } return '<form action="?login" method="post"><input class="steamlogin" type="image" src="img/sits.gif" alt="Login With Steam"></form>'; } elseif ($openid->mode == 'cancel') { return 'User has canceled authentication!'; } else { if ($openid->validate()) { $id = $openid->identity; // identity is something like: http://steamcommunity.com/openid/id/76561197994761333 // we only care about the unique account ID at the end of the URL. $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); if (strlen($matches[1]) < 16) { return 'Invalid steamid.'; } //echo "User is logged in (steamID: $matches[1])\n"; //session_start(); database_login((int) $matches[1]); $_SESSION['sid'] = (int) $matches[1]; //This is where the user's steamID is set, IMPORTANT. if (isset($_SESSION['sid']) && is_numeric($_SESSION['sid']) == TRUE && !isset($_SESSION['currentUserName'])) { $playerURL = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=" . AKey() . "&steamids=" . $_SESSION['sid'] . "&format=json"; $playerData = json_decode(get_data($playerURL), true); $_SESSION['currentUserName'] = $playerData['response']['players'][0]['personaname']; //addUser( $_SESSION['sid'] ); header("Location: " . "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); } } else { return 'User is not logged in.'; } } } catch (ErrorException $e) { return $e->getMessage(); } } else { return '<form action="' . $_SERVER['PHP_SELF'] . '" method="post"><INPUT TYPE = "Submit" Name = "logout" VALUE = "Log out"></form>'; } }
public static function login() { include __DIR__ . '/openid.php'; try { $openid = new LightOpenID($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); if (!$openid->mode) { $openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $openid->authUrl()); } } catch (ErrorException $e) { echo $e->getMessage(); } }
function openid_reverse_magic_auth($x) { try { $openid = new \LightOpenID(z_root()); $openid->identity = $x['address']; $openid->returnUrl = z_root() . '/openid'; $openid->required = ['namePerson/friendly', 'namePerson']; $openid->optional = ['namePerson/first', 'media/image/aspect11', 'media/image/default']; goaway($openid->authUrl()); } catch (\Exception $e) { notice(t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br /><br >' . t('The error message was:') . ' ' . $e->getMessage()); } }
/** * @Route("/loginSteam") * @Method("GET") * * @param Request $request * @return RedirectResponse */ public function loginSteamOpenIdAction(Request $request) { $steamUrl = $this->container->getParameter('steam_open_id_api')['url']; $backUrl = $this->generateUrl('avaw_steam_security_loginsteamopenid', array(), UrlGeneratorInterface::ABSOLUTE_URL); $steamOpenIdUrl = null; /** @var \Symfony\Component\HttpFoundation\Session\SessionInterface $session */ $session = $request->getSession(); $openId = new \LightOpenID($backUrl); if (!$openId->mode) { if ($request->query->get('login')) { $openId->identity = $steamUrl; return new RedirectResponse($openId->authUrl()); } if (null !== $session->get('SteamId64')) { $this->redirectToRoute('avaw_steam_default_index'); } } elseif ($openId->mode = 'id_res') { if (null === $session->get('SteamId64')) { if ($openId->validate()) { $steamOpenIdUrl = $openId->identity; } if (null !== $steamOpenIdUrl) { $steamId = str_replace($steamUrl . '/id/', '', $steamOpenIdUrl); // Get info about steam user /** @var SteamApi $steamApi */ $steamApi = $this->get('avaw.steam.http.steam_api'); $player = $steamApi->GetPlayerSummaries($steamId)[0]; // Check if user exist /** @var SteamUserRepository $repository */ $repository = $this->getDoctrine()->getRepository('AvawSteamBundle:SteamUser'); /** @var SteamUser $steamUser */ $steamUser = $repository->findOneBy(array('steamId' => $steamId)); $em = $this->getDoctrine()->getManager(); if (null !== $steamUser) { // Update entity $steamUser->update($player); } else { // Prepare new entity $em->persist($player); } $em->flush(); // Session $session->set('SteamId64', $steamId); } return $this->redirect($this->generateUrl('home')); } } return $this->redirect($this->generateUrl('home')); }
/** * Ask for OpenID identifer */ public function request() { if (!$this->openid->mode) { $this->openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $this->openid->authUrl()); exit; } else { if ($this->openid->mode == 'cancel') { $this->errorCallback(array('provider' => 'Steam', 'code' => 'cancel_authentication', 'message' => 'User has canceled authentication')); } else { if (!$this->openid->validate()) { $this->errorCallback(array('provider' => 'Steam', 'code' => 'not_logged_in', 'message' => 'User has not logged in')); } else { $steamId = ''; if (preg_match('/http:\\/\\/steamcommunity.com\\/openid\\/id\\/(\\d+)/', $this->openid->data['openid_identity'], $matches)) { $steamId = $matches[1]; } $userInfo = $this->userInfo($steamId); $this->auth = array('provider' => 'Steam', 'uid' => $steamId, 'info' => $userInfo, 'credentials' => $this->openid->getAttributes(), 'raw' => $userInfo); $this->callback(); } } } }
public function login() { $openId = new \LightOpenID($this->_getRequest()->getUri()); if (!$openId->mode) { $openId->identity = 'https://steamcommunity.com/openid'; return RedirectResponse::create($openId->authUrl()); } else { if ($openId->validate()) { $id = basename($openId->identity); Session::set(Session::USER_ID, $id); return RedirectResponse::create('/users/' . $id); } return 'error'; } }
function steamlogin() { try { require "settings.php"; $openid = new LightOpenID($steamauth['domainname']); $button['small'] = "small"; $button['large_no'] = "large_noborder"; $button['large'] = "large_border"; $button = $button[$steamauth['buttonstyle']]; if (!$openid->mode) { if (isset($_GET['login'])) { $openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $openid->authUrl()); } return "<form action=\"?login\" method=\"post\" title=\"Usa tu cuenta de Steam para hacer uso de ciertas funcionalidades de la página, como realizar comentarios o escribir publicaciones. El proceso de autenticación se hace a través de Steam.\"> <input type=\"image\" src=\"http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_" . $button . ".png\" alt=\"Conexión a Steam\"></form>"; } elseif ($openid->mode == 'cancel') { echo 'User has canceled authentication!'; } else { if ($openid->validate()) { $id = $openid->identity; $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); $_SESSION['steamid'] = $matches[1]; // First determine of the $steamauth['loginpage'] has been set, if yes then redirect there. If not redirect to where they came from if ($steamauth['loginpage'] !== "") { $returnTo = $steamauth['loginpage']; } else { //Determine the return to page. We substract "login&"" to remove the login var from the URL. //"file.php?login&foo=bar" would become "file.php?foo=bar" $returnTo = str_replace('login&', '', $_GET['openid_return_to']); //If it didn't change anything, it means that there's no additionals vars, so remove the login var so that we don't get redirected to Steam over and over. if ($returnTo === $_GET['openid_return_to']) { $returnTo = str_replace('?login', '', $_GET['openid_return_to']); } } if (!actualizarUsuarioActual()) { include "steamauth/logout.php"; $_SESSION['error_conectando'] = true; } header('Location: ' . $returnTo); } else { echo "User is not logged in.\n"; } } } catch (ErrorException $e) { echo $e->getMessage(); } }
protected function authenticateOpenId($openidIdentity) { // 3rd-party library: http://gitorious.org/lightopenid // Required: PHP 5, curl $openid = new LightOpenID(); $openid->required = array('namePerson/friendly', 'contact/email'); $openid->optional = array('namePerson/first'); if (isset($_GET['openid_mode'])) { $result = $openid->validate(); $this->_openidIdentity = $openid->identity; $this->_attributes = $openid->getAttributes(); return $result; } $openid->identity = $openidIdentity; header('Location: ' . $openid->authUrl()); exit; }
function rmagic_post(&$a) { $address = trim($_REQUEST['address']); if (strpos($address, '@') === false) { $arr = array('address' => $address); call_hooks('reverse_magic_auth', $arr); try { require_once 'library/openid/openid.php'; $openid = new LightOpenID(z_root()); $openid->identity = $address; $openid->returnUrl = z_root() . '/openid'; $openid->required = array('namePerson/friendly', 'namePerson'); $openid->optional = array('namePerson/first', 'media/image/aspect11', 'media/image/default'); goaway($openid->authUrl()); } catch (Exception $e) { notice(t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br /><br >' . t('The error message was:') . ' ' . $e->getMessage()); } // if they're still here... notice(t('Authentication failed.') . EOL); return; } else { // Presumed Red identity. Perform reverse magic auth if (strpos($address, '@') === false) { notice('Invalid address.'); return; } $r = null; if ($address) { $r = q("select hubloc_url from hubloc where hubloc_addr = '%s' limit 1", dbesc($address)); } if ($r) { $url = $r[0]['hubloc_url']; } else { $url = 'https://' . substr($address, strpos($address, '@') + 1); } if ($url) { if ($_SESSION['return_url']) { $dest = urlencode(z_root() . '/' . str_replace('zid=', 'zid_=', $_SESSION['return_url'])); } else { $dest = urlencode(z_root() . '/' . str_replace('zid=', 'zid_=', $a->query_string)); } goaway($url . '/magic' . '?f=&dest=' . $dest); } } }
function steamlogin() { try { require "settings.php"; $openid = new LightOpenID($steamauth['domainname']); $button['small'] = "small"; $button['large_no'] = "large_noborder"; $button['large'] = "large_border"; $button = $button[$steamauth['buttonstyle']]; if (!$openid->mode) { if (isset($_GET['login'])) { $openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $openid->authUrl()); } return "<form action=\"?login\" method=\"post\">\n <input type=\"image\" src=\"assets/images/steam_login.png\">\n </form>"; } elseif ($openid->mode == 'cancel') { echo 'User has canceled authentication!'; } else { if ($openid->validate()) { $id = $openid->identity; $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); $_SESSION['steamid'] = $matches[1]; // First determine of the $steamauth['loginpage'] has been set, if yes then redirect there. If not redirect to where they came from if ($steamauth['loginpage'] !== "") { $returnTo = $steamauth['loginpage']; } else { //Determine the return to page. We substract "login&"" to remove the login var from the URL. //"file.php?login&foo=bar" would become "file.php?foo=bar" $returnTo = str_replace('login&', '', $_GET['openid_return_to']); //If it didn't change anything, it means that there's no additionals vars, so remove the login var so that we don't get redirected to Steam over and over. if ($returnTo === $_GET['openid_return_to']) { $returnTo = str_replace('?login', '', $_GET['openid_return_to']); } } header('Location: ' . $returnTo); } else { echo "User is not logged in.\n"; } } } catch (ErrorException $e) { echo $e->getMessage(); } }
function index_login() { if (isset($_POST['openid_identifier'])) { $openid = new LightOpenID(); $openid->identity = _openid_discover_email($_POST['openid_identifier']); $auth_url = $openid->authUrl(true); ob_end_clean(); header('HTTP/1.1 307 Temporary Redirect'); header('Location: ' . $auth_url); printf('Redirecting to <a href="%s">%1$s</a>…', $auth_url); exit; } echo ' <form method="post" action=""> <label for="openid_identifier">OpenID or Google ID:</label> <input type="text" id="openid_identifier" name="openid_identifier"> <button type="submit">Sign in</button> </form> '; }
function steamlogin() { try { require "./steamauth/settings.php"; $openid = new LightOpenID($steamauth['domainname']); $button['small'] = "small"; $button['large_no'] = "large_noborder"; $button['large'] = "large_border"; //$button = $button[$steamauth['buttonstyle']]; if (!$openid->mode) { if (isset($_GET['login'])) { $openid->identity = 'http://steamcommunity.com/openid'; header('Location: ' . $openid->authUrl()); } //echo "<form action=\"?login\" method=\"post\"> <input type=\"image\" src=\"http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_".$button.".png\"></form>"; } else { if ($openid->mode == 'cancel') { echo 'User has canceled authentication!'; } else { if ($openid->validate()) { $id = $openid->identity; $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/"; preg_match($ptn, $id, $matches); $_SESSION['steamid'] = $matches[1]; include_once "set.php"; $query = mysql_query("SELECT * FROM users WHERE steamid='" . $_SESSION['steamid'] . "'"); if (mysql_num_rows($query) == 0) { mysql_query("INSERT INTO users (steamid) VALUES ('" . $_SESSION['steamid'] . "')") or die("MySQL ERROR: " . mysql_error()); } if (isset($steamauth['loginpage'])) { header('Location: ' . $steamauth['loginpage']); } } else { echo "User is not logged in.\n"; } } } } catch (ErrorException $e) { echo $e->getMessage(); } }