
ソーシャルネットワークを介した承認は、エンターテイメントサイトの開発者が直面する最も一般的なタスクの1つです。 各APIにはベンダー自体のPHPライブラリがあるため、そこでは何もすることはないようです。 しかし、一度に複数を接続する必要がある場合はどうでしょうか? 同じOAuthプロトコルを実装するライブラリを多数のプロジェクトにドラッグしたくはありません。また、何らかの統一されたインターフェースが必要です。 PHPixie Socialは依存関係が1つしかない小さなライブラリであり、Facebook、Twitter、Google、Vkontakteですぐに作業できます。PHPixieフレームワークを使用すると、わずか数行のコードですぐに承認を取得できます。
ただし、最初にコンポーネントを単独で検討してください。
構成
<?php $config = array( // , // API 'facebook' => array( 'type' => 'facebook', 'appId' => '', 'appSecret' => '', // , 'scope' => array(), // API 'apiVersion' => '2.3' ), 'twitter' => array( 'type' => 'twitter', // Twitter OAuth 1.0a // 'consumerKey' => '', 'consumerSecret' => '' ), 'google' => array( 'type' => 'google', 'appId' => '', 'appSecret' => '', // 'scope' => array(), 'apiVersion' => '2.3' ), 'vk' => array( 'type' => 'vk', 'appId' => '', 'appSecret' => '', // 'scope' => array(), 'apiVersion' => '2.3' ), );
初期化
// $slice = new \PHPixie\Slice(); $config = $slice->arrayData($config); $social = new \PHPixie\Social($config);
ユーザー認証
そのため、最初に行う必要があるのは、ユーザーに承認を求めることです。そのためには、APIがアクセストークンを送信するリンクを作成する必要があります。 次に、ユーザーを認証ページにリダイレクトします。 以下に簡単な例を示します。
$callbackUrl = 'http://localhost.com/callback=1'; if(!isset($_GET['callback'])) { // , $loginUrl = $social->get('facebook')->loginUrl($callbackUrl); header('Location: '.$loginUrl); } else { // , API, // Social . // , $callbackUrl $socialUser = $social->get('faceebook')->handleCallback($callbackUrl, $_GET); if($socialUser === null) { // echo "You didn't authorize our app"; }else{ // API var_dump($socialUser->get('me')); } }
ユーザーオブジェクト
$socialUser->id(); // ID // $socialUser->loginData(); // GET $socialUser->get('some/endpoint', $queryParams = array()); // POST $socialUser->post('some/endpoint', $data = array(), $queryParams = array()); // $socialUser->api('PUT', 'some/endpoint', $queryParams = array(), $data = array()); // , // // $token = $social->token(); // $socialUser = $social->get('facebook')->user($token); // $social->get('facebook')->get($token, 'some/endpoint', $queryParams = array()); $social->get('facebook')->post($token, 'some/endpoint', $data = array(), $queryParams = array()); $social->get('facebook')->api($token, 'PUT', 'some/endpoint', $queryParams = array(), $data = array());
フレームワークとの統合
承認モジュールのデフォルトプラグインはフレームワークで利用できます。このプラグインはユーザーのログインを処理し、その構成に簡単に含まれます。 フレームワークで既に作業している人は、これで複雑なものを見つけることはないので、今回は説明の代わりにデモプロジェクトへのリンクを残します : https : //github.com/phpixie/demo-socialauth
その中で、ユーザー自身がログインするネットワークを選択します。 彼が初めてログインした場合、すぐにユーザープレートにエントリが作成され、セッション中にログインが記憶されます。 その後のログインでは、データベースのエンティティがすでに使用されます。
ソーシャルを試すには、 作曲家がphpixieを要求するだけで十分です。また、いつものように、質問がある場合は、チャットですぐにご連絡ください。