当前位置: 首页>>代码示例>>PHP>>正文


PHP LightOpenID类代码示例

本文整理汇总了PHP中LightOpenID的典型用法代码示例。如果您正苦于以下问题:PHP LightOpenID类的具体用法?PHP LightOpenID怎么用?PHP LightOpenID使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了LightOpenID类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: steamOauth

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;
        }
    }
}
开发者ID:gitter-badger,项目名称:SourceBans-Fork,代码行数:25,代码来源:steamopenid.php

示例2: openIDLogin

 /**
  * 處理 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();
     }
 }
开发者ID:sandy7772266,项目名称:vote_1031,代码行数:39,代码来源:AuthController.php

示例3: steamlogin

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();
    }
}
开发者ID:4ung,项目名称:SteamAuthentication,代码行数:29,代码来源:steamauth.php

示例4: validateOpenID

 /**
  * 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);
             }
         }
     }
 }
开发者ID:openclerk,项目名称:users,代码行数:39,代码来源:UserOpenID.php

示例5: steamlogin

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();
    }
}
开发者ID:gekt,项目名称:Alterisia,代码行数:34,代码来源:steamauth.php

示例6: steamLogin

 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();
     }
 }
开发者ID:Carl-the-menace,项目名称:RoadToDevGlobal,代码行数:26,代码来源:LoginRedirect.class.php

示例7: getUserEmail

 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();
 }
开发者ID:Rongya,项目名称:TeamToy-Plugins,代码行数:27,代码来源:OpenId.php

示例8: register

 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);
         }
     });
 }
开发者ID:joska,项目名称:satisfy,代码行数:30,代码来源:SecurityServiceProvider.php

示例9: returningProvider

 /**
  * Service provider returns the user here.
  */
 public function returningProvider()
 {
     $openid = new LightOpenID('renshuu.paazmaya.com');
     if ($openid->mode) {
         $attr = $openid->getAttributes();
         if ($openid->validate()) {
             $_SESSION['email'] = $attr['contact/email'];
             // Not always set, specially Google, even if required...
             $_SESSION['username'] = isset($attr['namePerson']) ? $attr['namePerson'] : $attr['contact/email'];
             $_SESSION['identity'] = $openid->identity;
             // Check if the email has already existing access rights
             $sql = 'SELECT title, email, access FROM renshuu_user WHERE email = \'' . $_SESSION['email'] . '\'';
             $run = $this->pdo->query($sql);
             if ($run->rowCount() > 0) {
                 $res = $run->fetch(PDO::FETCH_ASSOC);
                 // So there was data, just login and use the site
                 $_SESSION['username'] = $res['title'];
                 $_SESSION['access'] = intval($res['access']);
                 // use as binary
             } else {
                 // Insert
                 $sql = 'INSERT INTO renshuu_user (title, email, identity, modified, access) VALUES (\'' . $attr['namePerson'] . '\', \'' . $attr['contact/email'] . '\', \'' . $openid->identity . '\', ' . time() . ', 1)';
                 $run = $this->pdo->query($sql);
                 $_SESSION['access'] = 1;
                 // Should you send an email telling about new user?
             }
         }
         header('Location: http://' . $_SERVER['HTTP_HOST']);
     }
 }
开发者ID:pazjacket,项目名称:paazmaya-_-renshuu.paazmaya.fi,代码行数:33,代码来源:RenshuuAuth.php

示例10: prepare

 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';
     }
 }
开发者ID:mwilchez,项目名称:master,代码行数:34,代码来源:login.view.php

示例11: getLogin

 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();
     }
 }
开发者ID:TsunamiNori,项目名称:Raffles,代码行数:33,代码来源:SteamLoginController.php

示例12: LoadPage

 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";
     }
 }
开发者ID:Zipcore,项目名称:GMDonate,代码行数:55,代码来源:kernel.php

示例13: LoginButton

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>';
    }
}
开发者ID:aaronsnow123,项目名称:OpenEndgame,代码行数:54,代码来源:openid.php

示例14: gooleAuthenticate

function gooleAuthenticate()
{
    // Creating new instance
    $openid = new LightOpenID();
    $openid->identity = 'https://www.google.com/accounts/o8/id';
    //setting call back url
    $openid->returnUrl = CALLBACK_URL;
    //finding open id end point from google
    $endpoint = $openid->discover('https://www.google.com/accounts/o8/id');
    $fields = '?openid.ns=' . urlencode('http://specs.openid.net/auth/2.0') . '&openid.return_to=' . urlencode($openid->returnUrl) . '&openid.claimed_id=' . urlencode('http://specs.openid.net/auth/2.0/identifier_select') . '&openid.identity=' . urlencode('http://specs.openid.net/auth/2.0/identifier_select') . '&openid.mode=' . urlencode('checkid_setup') . '&openid.ns.ax=' . urlencode('http://openid.net/srv/ax/1.0') . '&openid.ax.mode=' . urlencode('fetch_request') . '&openid.ax.required=' . urlencode('email,firstname,lastname') . '&openid.ax.type.firstname=' . urlencode('http://axschema.org/namePerson/first') . '&openid.ax.type.lastname=' . urlencode('http://axschema.org/namePerson/last') . '&openid.ax.type.email=' . urlencode('http://axschema.org/contact/email');
    header('Location: ' . $endpoint . $fields);
}
开发者ID:neelkamal0666,项目名称:FosterGemNews,代码行数:12,代码来源:login-google.php

示例15: login

 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();
     }
 }
开发者ID:ATomIK,项目名称:Automatic-SteamAuth,代码行数:13,代码来源:steam.class.php


注:本文中的LightOpenID类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。