redbuzz / bxconnect

此包已废弃,不再维护。未建议替代包。

BLackxperience Connect / Bx Connect 是一个简单的 REST API。此存储库包含允许您从 PHP 应用程序访问 BX 平台的开源 PHP 类。

dev-master 2014-08-17 14:02 UTC

This package is not auto-updated.

Last update: 2020-08-17 07:02:20 UTC


README

BLackxperience Connect / Bx Connect 是一个简单的 REST API。此存储库包含允许您从 PHP 应用程序访问 BX 平台的开源 PHP 类。

  • 简单实现
  • Facebook Connect
  • Twitter Connect
  • 邮箱注册
  • 获取用户资料

使用 composer 易于安装

{
    "require": {
        "redbuzz/bxconnect": "dev-master"
    }
}

使用方法

在这种情况下,假设您已在 Facebook 和 Twitter 上有一个应用程序,并且您也列在 BX Connect 应用程序中,您应该做的第一步是使用以下示例配置一些参数数组

$Blackxperience = array (
	"CLIENT_ID" 			=> "YOUR_BX_CLIENT_ID",
	"CLIENT_KEY" 			=> "YOUR_BX_CLIENT_KEY",
	"CLIENT_APP_NAME" 		=> "YOUR_BX_APP_NAME",
	"FB_APP_ID" 			=> "YOUR_FACEBOOK_APP_ID",
	"FB_APP_SECRET" 		=> "YOUR_FACEBOOK_APP_SECRET",
	"TW_CONSUMER_ID" 		=> "YOUR_TWITTER_CONSUMER_ID",
	"TW_CONSUMER_SECRET" 	=> "YOUR_TWITTER_CONSUMER_SECRET"
);

$BxConnect = new BxConnect\BlackxperienceAuth($Blackxperience);

完成上述配置后,接下来的步骤是设置回调 URL,这需要将应用程序重定向到您的应用程序。

$BxConnect::setCallbackUrl("http://YOUR_PHP_APP_WEBSITE_URL");

最后一步是应用您应用程序的要求非常简单,请参考以下示例

if (@$_GET['act'] == 'logout') {
	$obj::logoutData();
	header ("location: http://YOUR_PHP_APP_WEBSITE_URL");
}

if ($BxConnect::getUserData() == false) {
	if (!isset($_GET['status_code'])) {
		echo "
		
		<form method='post' action='". $BxConnect::getEmailLoginUrl() ."'>
			<table>
				<tr>
					<td>Username/Email</td>
					<td><input type='text' name='BX_USERNAME' /></td>
				</tr>
				<tr>
					<td>Password</td> 
					<td><input type='password' name='BX_PASSWORD' /><td />
				</tr>
				<tr>
					<td colspan='2'>
					<button type='submit'>Login</button>
					<button type='button' onclick='location.href=\"". $BxConnect::twitterUrl() . "\"'>Twitter Login</button>
					<button type='button' onclick='location.href=\"". $BxConnect::facebookUrl() . "\"'>Facebook Login</button>
					<button type='button' onclick='location.href=\"". $BxConnect::registerUrl() . "\"'>Register</button>
					<button type='button' onclick='location.href=\"". $BxConnect::getForgotPassUrl() . "\"'>Forgot Password</button>
					</td>
				</tr>
			</table>

		</form>";
	}
	else if ($_GET['status_code'] == '0000') {
		var_dump($BxConnect::getUserData());
		echo "<br /><br />";
		echo "<a href='http://YOUR_PHP_APP_WEBSITE_URL?act=logout'>Logout</a> ";
		echo "<a href='". $BxConnect::updateUserUrl() . "'>Update User</a>";
	}	
	else {
		echo "Error code : " . $_GET['status_code'] ;
	}
}
else {
	var_dump($BxConnect::getUserData());
	echo "<a href='http://YOUR_PHP_APP_WEBSITE_URL?act=logout'>Logout</a> ";
	echo "<a href='". $BxConnect::updateUserUrl() . "'>Update User</a>";
}

示例结果

array (size=8)
  'username' => string 'johndoe' (length=7)
  'email' => string 'bonkzero404@gmail.com' (length=21)
  'user_profile' => 
    array (size=8)
      'fullname' => string 'John Doe' (length=8)
      'gender' => string 'Male' (length=4)
      'birthdate' => string '1985-04-18' (length=10)
      'city' => string 'Jakarta' (length=7)
      'occupation' => string 'Developer' (length=9)
      'phone' => string '08777529xxxx' (length=12)
      'about_me' => string 'about description' (length=17)
      'photo_profile' => string 'http://connect.blackxperience.com/development/Public/Assets/images/image_profiles/fbbf8f0ba779080d6f954d261e375f22.jpg' (length=118)
  'additional_info' => 
    array (size=3)
      'website_acc' => string 'www.panjisatria.com' (length=20)
      'facebook_acc' => string 'www.facebook.com' (length=16)
      'twitter_acc' => string 'www.twitter.com' (length=15)
  'social_data' => 
    array (size=4)
      'facebook_img_profile' => string 'https://graph.facebook.com/1464164856/picture?type=square' (length=57)
      'twitter_img_profile' => string 'http://abs.twimg.com/sticky/default_profile_images/default_profile_4_normal.png' (length=79)
      'facebook_link' => string 'https://#/1464164856' (length=34)
      'twitter_link' => string 'https://twttier.com/prasgroo' (length=28)
  'register_via' => string 'email' (length=5)
  'login_via' => string 'facebook' (length=8)
  'time_access' => string '2014-08-16 14:51:38' (length=19)