-ださろぐシステム開発者からコーヒー屋への道。さんありがとうございました)。Calendar2013参加記事です。21日目は@madmamorさんのFuelPHPをRocketeerで自動デプロイしてみる。マイグレーションとPHPUnitも実行してみる。Sturgeon氏がメンテされていたNinjAuthというOAuth認証パッケージを使用して簡単にログイン認証が行えるパッケージを作成したのですが、FuelPHP1.6.1からNinjAuthに代わりOpAuthに対応したパッケージが標準で入るようになったので、今年はそちらでログイン連携を行う最小限の方法を紹介します。した作業量比較としては、インストール作業自体はNinjAuthより楽に行えますが、コントローラー、ビューのサンプルなどは付属してないので、そのあたりはまるっと書く必要があるので一手間ある感じです。動かすところまでなので、バリデーションの処理やコントローラーでのハンドリングを実際のアプリケーションで作りこむと良い感じになると思われます。環境:FuelPHP1.7.1、caomposerはインストール済、DBはセットアップ済みの想定それでは各ステップごとにいってみましょう。),packages/auth/configからopauth.phpをコピーしてきてapp/config以下に配置opauth.phpのStrategyを追加。今回はFacebookのみ。updateを実行すると必要なopauth本体とfacebookストラテジがインストールされる。--packages=authを実行すると、下記のテーブルが作成される。|+------------------------+コントローラーの作成auth用のコントローラーを作成します。コントローラー名に特に縛りはありませんが、今回はController_Authという名前で作成します。applicationのサンプルをコピペしつつ、動くように調整してみます。time(),));}}}action_oauthが起点となるアクションとなり、ここから各サービスへリダイレクトされます。コールバックはconfigで特に指定していない場合、同コントローラのaction_callbackアクションに帰ってきますので、action_callback内で処理を判定します。未登録の場合はauth/registerに飛ばしてユーザー登録を行わせ、登録が完了した時点でlink_providerでユーザーの紐付けを行うようになっています。今回はfieldsetを使っているので、単純にechoしてとりあえずフォームを出してみましょう。$form;確認してみるコントローラ、ビューまで作成して/auth/oauth/facebookにアクセスするとfacebook認証が行われ、未登録であればregisterに飛ばされます。登録を完了し、再度同じURLからアクセスするとログインとなり、セッションにログイン情報が格納されます。各OAuthプロバイダから取得したトークンなどの情報はusers_providersテーブルに格納されていますので、こちらを利用してfacebookへの登録や、twitterへの投稿などを行う処理を個別に実装出来ます。Apache)を構築するです。