opauthライブラリを使用してTwitter認証を実装する手順をメモ

既にTwitterのストラテジが組み込まれているため、設定をするだけで実装可能
Twitter認証は別途tmhOAuthというライブラリが使用されている。どうやら、Twitterのoauth認証を実装する場合に使われるライブラリのよう。

プロジェクトフォルダ(プロジェクト名)は「basedemo」としてローカル環境で試す

導入手順 ※導入はおよそ5分の作業

前提:

前の投稿記事の[FuelPHP]opauthライブラリでFacebook認証を速攻実装するを既に実装していること

手順1.Twitter開発者ページの設定

https://dev.twitter.com/apps/

アプリ登録を行い、「Consumer key」「Consumer secret」を取得する。

[Callback URL]には、Controller_AuthクラスのAction_Callbackメソッドとなるので以下のようにする。

http://[サイトパス]/auth/callback/

※ローカル環境の実行の場合は127.0.0.1とする。localhostにすると登録できない

今回は「http://127.0.0.1/basedemo/auth/callback/」を設定する

 

手順2.opauth.php設定ファイルの設定

前回のFacebook認証の設定にTwitter認証設定を追加する

<!--?php 'path' =--> '/basedemo/auth/login/',
'security_salt' =&gt; 'testtesttest', // デフォルトで設定されている値と違うものにする ※同じ場合動作しない
'callback_url' =&gt; '/basedemo/auth/callback/',
'Strategy' =&gt; array(
'Facebook' =&gt; array(
'app_id' =&gt; 'APP_ID',
'app_secret' =&gt; 'APP_SECRET'
),
'Twitter' =&gt; array(
'key' =&gt; 'KEY', // 手順1で取得した「Consumer key」の値を設定
'secret' =&gt; 'SECRET' // 手順1で取得した「Consumer secret」の値を設定
),
),

 

手順3.エラー修正

手順2までで完了になるが、この段階で実行すると以下のエラーが出た

error

エラーとしては
ErrorException [ Error ]: Class ‘Opauth\tmhOAuth’ not found
となり、tmhOAuthがありませんって言ってる。

見えていないようなので、tmhOAuth/tmhOAuth.phpにopauthのnamespaceに組み込むことにする。

namespace Opauth;

class tmhOAuth {
  const VERSION = 0.621;

  /**
   * Creates a new tmhOAuth object
   *
   * @param string $config, the configuration to use for this request
   */
  function __construct($config) {
    $this->params = array();
    $this->headers = array();
    $this->auto_fixed_time = false;

  〜〜 省略 〜〜

 

動作確認

「http://localhost/basedemo/auth/login/twitter/」を実行してtwitterのログインページに遷移すればOK。あとはログインして完了すると「OK: Auth response is validated.」が表示されれば成功。
画面上はtwitterからのレスポンス情報が表示されているはず。

 

最後に・・・

facebookを先に実装しているのでより簡単に行えた。あとはこちらもDBに情報格納やらプロジェクトにあったコールバック処理、遷移に変えればよさそう。

その他ストラテジの追加は下記公式サイトよりストラテジファイルをダウンロードして配置して、config設定を行い多少修正すれば、おそらくすぐに実装が可能。

公式サイト:http://opauth.org/

その他おすすめの備忘録

Tagged with:
 

One Response to [FuelPHP]opauthライブラリでTwitter認証を速攻実装する

  1. typista より:

    ぽけったー [FuelPHP]opauthライブラリでTwitter認証を速攻実装する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>