本文整理汇总了PHP中Facebook\FacebookRedirectLoginHelper类的典型用法代码示例。如果您正苦于以下问题:PHP FacebookRedirectLoginHelper类的具体用法?PHP FacebookRedirectLoginHelper怎么用?PHP FacebookRedirectLoginHelper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FacebookRedirectLoginHelper类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: obtainToken
public function obtainToken($callback)
{
$helper = new FacebookRedirectLoginHelper($callback);
if ($this->input->get('code') === null) {
/**
* Required permissions
* public_profile
* email
* read_insights Show analytics data of page in dashboard
* read_page_mailboxes Manage page conversations
* read_mailbox Manage page mailbox
* manage_pages Manage brand pages
* publish_pages Take actions on behalf of page
*/
$loginUrl = $helper->getLoginUrl(array('public_profile', 'user_friends', 'email', 'read_mailbox', 'read_page_mailboxes', 'manage_pages', 'publish_actions', 'publish_pages', 'read_insights'));
Url::redirect($loginUrl);
return null;
} else {
$session = null;
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
} catch (\Exception $ex) {
// When validation fails or other local issues
}
if ($session) {
// Logged in
}
return $session;
}
}
开发者ID:ravikathaitarm01,项目名称:fluenz1,代码行数:32,代码来源:SDK.php
示例2: action_index
public function action_index()
{
try {
$helper = new FacebookRedirectLoginHelper(Config::get('login_url'));
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
} catch (\Exception $ex) {
// When validation fails or other local issues
}
if (isset($session)) {
//login succes
$long_lived_session = $session->getLongLivedSession();
$access_token = $long_lived_session->getToken();
//*** Call api to get user info
$user_info = $this->facebook->get_user_information($access_token);
//*** Check if user has existed
$user = Model_Users::find('first', array('where' => array('fb_id' => $user_info->getId())));
if (empty($user)) {
// Register user
if (Model_Users::register_user($user_info, $access_token)) {
//Success
}
}
//*** Set session for user
Fuel\Core\Session::set('user_token', $long_lived_session->getToken());
Fuel\Core\Session::set('user_id', $user_info->getId());
//*** Redirect to home
\Fuel\Core\Response::redirect('fanpage/index');
} else {
// login fail
$this->template->login_url = $helper->getLoginUrl();
}
}
开发者ID:nguyen-phuoc-mulodo,项目名称:mfb_fuel,代码行数:34,代码来源:login.php
示例3: apiAction
/**
* @Route("/fb")
*/
public function apiAction()
{
// ustawiamy ID aplikacji i client secret
FacebookSession::setDefaultApplication(FB_APP_ID, FB_APP_SECRET);
// tworzymy helpera do zalogowania się
$helper = new FacebookRedirectLoginHelper(FB_APP_REDIRECT_URI);
// Pobieramy token sesji
try {
$session = $helper->getSessionFromRedirect();
// Logowanie...
} catch (FacebookRequestException $ex) {
// jeśli błąd Facebooka
} catch (\Exception $ex) {
// jeśli ogólnie błąd
}
if ($session) {
// Zalogowany
echo 'Logged';
// pobieramy profil zalogowanego użytkownika
$user_profile = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
// obiekt z danymi zalogowanego użytkownika:
var_dump($user_profile);
} else {
// Link do logowania
echo '<a href="' . $helper->getLoginUrl(array('email', 'user_friends')) . '">Login</a>';
}
return $this->render('Api/api.html.twig');
}
开发者ID:KrzysztofSpetkowski,项目名称:GraphApi,代码行数:31,代码来源:ApiController.php
示例4: facebook
public function facebook()
{
if (Session::has('flash_notification.message')) {
return view('auth.facebook');
}
$config = config('services.facebook');
session_start();
FacebookSession::setDefaultApplication($config['id'], $config['secret']);
$helper = new FacebookRedirectLoginHelper(route('facebook'));
if (!Input::has('code')) {
return redirect($helper->getLoginUrl(['email']));
}
try {
$session = $helper->getSessionFromRedirect();
$profile = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
} catch (FacebookRequestException $e) {
flash('Ne pare rău dar a apărut o eroare. <a href="' . route('facebook') . '">Încearcă din nou</a>.', 'danger');
return redirect()->route('facebook');
}
if ($user = $this->userRepo->getByFacebook($profile->getId())) {
return $this->loginUser($user);
}
if (empty($profile->getProperty('email'))) {
flash('<p>Nu am putut citi adresa de email asociată contului tău de Facebook.</p> <p>Va trebui să te <a href="' . route('register') . '">înregistezi</a> pe site cu o adresă de email validă</p>', 'danger');
return redirect()->route('facebook');
}
if ($this->userRepo->getByEmail($profile->getProperty('email'))) {
flash('<p>Adresa de email asociată contului tău de Facebook este deja folosită pe site de altcineva.</p> <p>Va trebui să te <a href="' . route('register') . '">înregistezi</a> pe site cu o altă adresă de email.</p>', 'danger');
return redirect()->route('facebook');
}
$user = User::create(['email' => $profile->getProperty('email'), 'first_name' => $profile->getFirstName(), 'last_name' => $profile->getLastName(), 'avatar' => $this->getFacebookPictureUrl($session), 'role_id' => config('auth.default_role_id'), 'confirmed' => 1, 'county_id' => 20]);
$user->setMeta('facebook', $profile->getId());
$user->save();
return $this->loginUser($user);
}
开发者ID:adriancatalinsv,项目名称:fiip,代码行数:35,代码来源:OAuthController.php
示例5: index
public function index()
{
FacebookSession::setDefaultApplication(Config::get('facebook.appid'), Config::get('facebook.secret'));
$helper = new FacebookRedirectLoginHelper('http://localhost:8000/home');
// $helper = new FacebookRedirectLoginHelper('http://hexanlyzer.azurewebsites.net/home');
return redirect($helper->getLoginUrl());
}
开发者ID:CoffeeOwl17,项目名称:HEXA,代码行数:7,代码来源:LoginController.php
示例6: login
/**
* login with facebook sdk
*
* @param String $appId, $appSecret, $redirectUrl
*
* @return boolean
*/
public function login($appId, $appSecret, $redirectUrl)
{
$redirectUrl = 'http://' . $_SERVER['HTTP_HOST'] . $redirectUrl;
$request = new Request();
FacebookSession::setDefaultApplication($appId, $appSecret);
$helper = new FacebookRedirectLoginHelper($redirectUrl);
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
} catch (\Exception $ex) {
// When validation fails or other local issues
}
$this->loginurl = $helper->getLoginUrl();
if ($session) {
$FacebookRequest = new FacebookRequest($session, 'GET', '/me');
$response = $FacebookRequest->execute();
$graph = $response->getGraphObject(GraphUser::classname());
$name = $graph->getName();
$accessToken = $session->getAccessToken();
$request->setSession('facebook', (string) $accessToken);
return true;
} else {
return false;
}
}
开发者ID:Juli55,项目名称:mvc-framework,代码行数:33,代码来源:FacebookLogin.php
示例7: getFacebookRedirectLoginHelper
/**
* @return FacebookRedirectLoginHelper
*/
protected function getFacebookRedirectLoginHelper()
{
FacebookSession::setDefaultApplication($this->appId, $this->appSecret);
$helper = new FacebookRedirectLoginHelper($this->getRedirectUrl());
$helper->disableSessionStatusCheck();
return $helper;
}
开发者ID:WeavingTheWeb,项目名称:devobs,代码行数:10,代码来源:FacebookController.php
示例8: connect
/**
* @param $redirect_url
* @return string|Facebook\GraphUser Login URL or GraphUser
*/
function connect($redirect_url)
{
FacebookSession::setDefaultApplication($this->appId, $this->appSecret);
$helper = new FacebookRedirectLoginHelper($redirect_url);
if (isset($_SESSION) && isset($_SESSION['fb_token'])) {
$session = new FacebookSession($_SESSION['fb_token']);
} else {
$session = $helper->getSessionFromRedirect();
}
if ($session) {
try {
$_SESSION['fb_token'] = $session->getToken();
$request = new FacebookRequest($session, 'GET', '/me');
$profile = $request->execute()->getGraphObject('Facebook\\GraphUser');
if ($profile->getEmail() === null) {
throw new \Exception('L\'email n\'est pas disponible');
}
return $profile;
} catch (\Exception $e) {
unset($_SESSION['fb_token']);
return $helper->getReRequestUrl(['email']);
}
} else {
return $helper->getLoginUrl(['email']);
}
}
开发者ID:rizof,项目名称:Laravel-conexion,代码行数:30,代码来源:ConnexionFacebook.php
示例9: facebokLoginHelper
public function facebokLoginHelper($redirect_url, $canvas = false)
{
if ($canvas) {
$helper = new FacebookCanvasLoginHelper();
} else {
$helper = new FacebookRedirectLoginHelper($redirect_url);
}
//missing javascript helper to be added in other relase
// log errors
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
Log::error('Something is wrong from facebook.');
return false;
} catch (\Exception $ex) {
// When validation fails or other local issues
Log::error('Something is wrong with your user validation.');
return false;
}
// work with the session
if ($session) {
return $session;
} else {
//return false to trigger redirect to facebook
return false;
}
}
开发者ID:nobox,项目名称:identichip,代码行数:28,代码来源:Facebook.php
示例10: getUserInfo
private function getUserInfo()
{
FacebookSession::setDefaultApplication(Config::get('facebook.appid'), Config::get('facebook.secret'));
$helper = new FacebookRedirectLoginHelper('http://localhost:8000/home');
$userID = "";
$userEmail = "";
$userName = "";
$userPicUrl = "";
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
} catch (\Exception $ex) {
// When validation fails or other local issues
}
if (isset($_SESSION['token'])) {
// We have a token, is it valid?
$session = new FacebookSession($_SESSION['token']);
try {
$session->Validate(Config::get('facebook.appid'), Config::get('facebook.secret'));
} catch (FacebookAuthorizationException $ex) {
// Session is not valid any more, get a new one.
$session = '';
}
}
if (isset($session)) {
$_SESSION['token'] = $session->getToken();
$request = new FacebookRequest($session, 'GET', '/me?fields=id,name,email,picture');
$response = $request->execute();
$graphObject = $response->getGraphObject();
$userID = $graphObject->getProperty('id');
$userName = $graphObject->getProperty('name');
$userEmail = $graphObject->getProperty('email');
$userPicObj = $graphObject->getProperty('picture')->asArray();
$userPicUrl = $userPicObj['url'];
$_SESSION['usrID'] = $userID;
$_SESSION['usrName'] = $userName;
$_SESSION['usrEmail'] = $userEmail;
$_SESSION['usrPicUrl'] = $userPicUrl;
$user_model = App\user::where('user_id', $userID)->first();
if (is_null($user_model)) {
$user_model = new App\user();
$user_model->user_id = $userID;
$user_model->user_name = $userName;
$user_model->user_email = $userEmail;
$user_model->user_profilePic = $userPicUrl;
$user_model->save();
} else {
$user_model->user_name = $userName;
$user_model->user_email = $userEmail;
$user_model->user_profilePic = $userPicUrl;
$user_model->save();
}
}
$data = array("user_id" => $userID, "user_name" => $userName, "user_email" => $userEmail, "user_profilePic" => $userPicUrl);
$data = array("user_id" => $userID, "user_name" => $userName, "user_email" => $userEmail, "user_profilePic" => $userPicUrl);
return $data;
}
开发者ID:CoffeeOwl17,项目名称:HEXA,代码行数:58,代码来源:HomeController.php
示例11: getSessionOnLogin
/**
* Get the Facebook session on redirect
* @return bool|Facebook\FacebookSession
*/
function getSessionOnLogin()
{
$helper = new Facebook\FacebookRedirectLoginHelper(\Idno\Core\site()->config()->getDisplayURL() . 'facebook/callback');
try {
return $helper->getSessionFromRedirect();
} catch (\Exception $e) {
return false;
}
}
开发者ID:kylewm,项目名称:KnownFacebook,代码行数:13,代码来源:FacebookAPI.php
示例12: facebook
public function facebook()
{
$facebook_default_scope = explode(',', $this->ci->config->item("facebook_default_scope"));
$facebook_app_id = $this->ci->config->item("facebook_app_id");
$facebook_api_secret = $this->ci->config->item("facebook_api_secret");
// init app with app id and secret
FacebookSession::setDefaultApplication($facebook_app_id, $facebook_api_secret);
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper(site_url('login/facebook'));
// see if a existing session exists
if (isset($_SESSION) && isset($_SESSION['fb_token'])) {
// create new session from saved access_token
$session = new FacebookSession($_SESSION['fb_token']);
// validate the access_token to make sure it's still valid
try {
if (!$session->validate()) {
$session = null;
}
} catch (Exception $e) {
// catch any exceptions
$session = null;
}
}
if (!isset($session) || $session === null) {
// no session exists
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
// handle this better in production code
print_r($ex);
} catch (Exception $ex) {
// When validation fails or other local issues
// handle this better in production code
print_r($ex);
}
}
// see if we have a session
if (isset($session)) {
// save the session
$_SESSION['fb_token'] = $session->getToken();
// create a session using saved token or the new one we generated at login
$session = new FacebookSession($session->getToken());
// graph api request for user data
//$request = new FacebookRequest($session, 'GET', '/me/friends');
$request = new FacebookRequest($session, 'GET', '/me?fields=id,name,picture,friends');
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject()->asArray();
$fb_data = array('me' => $graphObject, 'loginUrl' => $helper->getLoginUrl($facebook_default_scope));
$this->ci->session->set_userdata('fb_data', $fb_data);
} else {
$fb_data = array('me' => null, 'loginUrl' => $helper->getLoginUrl($facebook_default_scope));
$this->ci->session->set_userdata('fb_data', $fb_data);
}
return $fb_data;
}
开发者ID:ponchov,项目名称:quizzworld,代码行数:57,代码来源:lib_login.php
示例13: __invoke
/**
*
* @param string $value
* @return string
*/
public function __invoke($value = 'your/redirect/URL/here')
{
$config = $this->getServiceLocator()->getServiceLocator()->get('Config');
FacebookSession::setDefaultApplication($config['facebook']['appId'], $config['facebook']['secret']);
//TODO should this be in a global space
$server = isset($_SERVER['HTTP_HOST']) ? "http://" . $_SERVER['HTTP_HOST'] : 'http://0.0.0.0';
$helper = new FacebookRedirectLoginHelper($server . $value);
return $helper->getLoginUrl();
}
开发者ID:bix0r,项目名称:Stjornvisi,代码行数:14,代码来源:Facebook.php
示例14: facebook_helper
public function facebook_helper()
{
$redirectUrl = $this->facebook["callback_url"];
$helper = new FacebookRedirectLoginHelper($redirectUrl);
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookSDKException $e) {
$session = null;
}
return compact('helper', 'session');
}
开发者ID:franky0930,项目名称:MarketingConnex,代码行数:11,代码来源:SocialmediaComponent.php
示例15: testLogoutURL
public function testLogoutURL()
{
$helper = new FacebookRedirectLoginHelper(self::REDIRECT_URL, FacebookTestCredentials::$appId, FacebookTestCredentials::$appSecret);
$logoutUrl = $helper->getLogoutUrl(FacebookTestHelper::$testSession, self::REDIRECT_URL);
$params = array('next' => self::REDIRECT_URL, 'access_token' => FacebookTestHelper::$testSession->getToken());
$expectedUrl = 'https://www.facebook.com/logout.php?';
$this->assertTrue(strpos($logoutUrl, $expectedUrl) !== false);
foreach ($params as $key => $value) {
$this->assertTrue(strpos($logoutUrl, $key . '=' . urlencode($value)) !== false);
}
}
开发者ID:jonathanbugs,项目名称:anselmi,代码行数:11,代码来源:FacebookRedirectLoginHelperTest.php
示例16: __construct
public function __construct($currentUrl, $homeUrl)
{
$this->session = null;
$this->loginUrl = '';
$this->logoutUrl = '';
$cleanUrl = false;
try {
if (session_id() == '') {
session_start();
}
$loginHelper = new FacebookRedirectLoginHelper($currentUrl);
// try to login from session token
if (!empty($_SESSION['facebook_session_token'])) {
$this->session = new FacebookSession($_SESSION['facebook_session_token']);
if ($this->session) {
$this->session->validate();
}
}
// try to login from redirect
if (!$this->session) {
$this->session = $loginHelper->getSessionFromRedirect();
$cleanUrl = true;
}
// store access token
if ($this->session) {
$_SESSION['facebook_session_token'] = $this->session->getToken();
if ($cleanUrl) {
header("HTTP/1.0 301 Moved Permanently");
header("Location: " . $currentUrl . '#top');
exit;
}
$this->logoutUrl = $loginHelper->getLogoutUrl($this->session, $homeUrl);
} else {
$this->loginUrl = $loginHelper->getLoginUrl();
}
} catch (\Exception $ex) {
$this->session = null;
$this->loginUrl = '';
$this->logoutUrl = '';
}
}
开发者ID:TechDevMX,项目名称:TierraBaldia,代码行数:41,代码来源:FacebookSessionWrapper.php
示例17: CreateSession
private function CreateSession()
{
$helper = new FacebookRedirectLoginHelper(URL . 'login.php?type=facebook&token=true');
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
print '<pre>';
print_r($ex);
print '</pre>';
// When Facebook returns an error
} catch (\Exception $ex) {
print '<pre>';
print_r($ex);
print '</pre>';
// When validation fails or other local issues
}
if ($session) {
Session::put("fb_session", $session);
$this->Login();
}
}
开发者ID:CCNITSilchar,项目名称:Social-Login-Plugin,代码行数:21,代码来源:FacebookLogin.php
示例18: masuk
public function masuk()
{
FacebookSession::setDefaultApplication(Config::get('facebook.appId'), Config::get('facebook.secret'));
$helper = new FacebookRedirectLoginHelper(url('/fblogin'));
$scope = array('email');
$session = $helper->getSessionFromRedirect();
if (isset($session)) {
//return Redirect::to('/bergabung');
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
$fbid = $graphObject->getProperty('id');
// To Get Facebook ID
$fbfullname = $graphObject->getProperty('name');
// To Get Facebook full name
$femail = $graphObject->getProperty('email');
Session::put('logged_in', '1');
Session::put('level', 'user');
Session::put('user_name', $fbfullname);
Session::put('fbid', $fbid);
//$fbcheck = $this->checkuser($fbid,$fbfullname,$femail);
$fbcheck = $this->check($fbid);
if ($fbcheck == TRUE) {
$data = array('fbname' => $fbfullname, 'fbemail' => $femail);
Users::where('fbid', '=', $fbid)->update($data);
$userid = Users::where('fbid', '=', $fbid)->first()->id;
Session::put('user_id', $userid);
return Redirect::to('/beranda');
} else {
Users::create($data);
$userid = Users::where('fbid', '=', $fbid)->first()->id;
Session::put('user_id', $userid);
return View::make('selamat_bergabung');
}
} else {
$loginUrl = $helper->getLoginUrl($scope);
return Redirect::to($loginUrl);
}
}
开发者ID:kelimuttu,项目名称:Item-based-CF-in-Serentak,代码行数:40,代码来源:FacebookController.php
示例19: build
/**
* {@inheritdoc}
*/
public function build()
{
global $base_url;
$build = [];
c4a_connect_facebook_client_load();
$config = \Drupal::config('c4a_connect.fbconnectadmin_config');
$init_params = array('appId' => $config->get('application_id'), 'secret' => $config->get('application_secret'));
FacebookSession::setDefaultApplication($init_params['appId'], $init_params['secret']);
$helper = new FacebookRedirectLoginHelper($base_url . '/user/facebook-connect');
try {
if (isset($_SESSION['token'])) {
// Check if an access token has already been set.
$session = new FacebookSession($_SESSION['token']);
} else {
// Get access token from the code parameter in the URL.
$session = $helper->getSessionFromRedirect();
}
} catch (FacebookRequestException $ex) {
// When Facebook returns an error.
print_r($ex);
} catch (\Exception $ex) {
// When validation fails or other local issues.
print_r($ex);
}
if (isset($session)) {
// Retrieve & store the access token in a session.
$_SESSION['token'] = $session->getToken();
// $logoutURL = $helper->getLogoutUrl( $session, 'http://your-app-domain.com/user/logout' );
// Logged in
drupal_set_message('Successfully logged in!');
} else {
$permissions = array('email', 'user_birthday');
// Generate the login URL for Facebook authentication.
$loginUrl = $helper->getLoginUrl($permissions);
$build['facebook_login']['#markup'] = '<a href="' . $loginUrl . '">Login with facebook</a>';
}
return $build;
}
开发者ID:C4AProjects,项目名称:c4apage,代码行数:41,代码来源:FacebookLogin.php
示例20: connect
/**
* @return string|Facebook\GraphUser Login URL or GraphUser
*/
public function connect()
{
$helper = new FacebookRedirectLoginHelper($this->redirectUrl);
if (isset($_SESSION) && isset($_SESSION['fb_token'])) {
$this->setSession(new FacebookSession($_SESSION['fb_token']));
} else {
$this->setSession($helper->getSessionFromRedirect());
}
if ($this->getSession()) {
try {
$_SESSION['fb_token'] = $this->getSession()->getToken();
$profile = $this->getUser();
if ($profile->getEmail() === null) {
throw new \Exception("L'email n'est pas disponible");
}
return $profile;
} catch (\Exception $e) {
unset($_SESSION['fb_token']);
return $helper->getReRequestUrl($this->scope);
}
} else {
return $helper->getLoginUrl($this->scope);
}
}
开发者ID:christopherfouquier,项目名称:facebook,代码行数:27,代码来源:Facebook.php
注:本文中的Facebook\FacebookRedirectLoginHelper类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论