TwitterAuthenticate [ja] - nojimage/CakePHP-Twim GitHub Wiki

Twimプラグインが提供するTwitterAuthenticateには以下の追加オプションがあります。

    'Auth' => array(
        'authenticate' => array(
		    'Twim.Twitter' => array(
		        'userModel' => false,
		        'authorize' => false,
		    ),
        ),
    ),

string userModel
認証に使用するモデルを指定します。
任意のモデル名を指定することで、アクセストークンなどの認証情報を保存することができます。

boolean authorize
認証時のauthorize/authenticateを切り替えます。trueauthorizefalseauthenticateとなります。

authenticate を利用する場合は、Twitter側のアプリケーション設定で「Sign in with Twitter」を有効にしなければなりません。

Note TwitterAuthenticateauthenticateオプションは、AuthComponent::login()を明示的に呼び出した場合に適用されます。
クイックスタートのように loginAction をTwimのOauthコントローラに指定している場合は以下のようにauthenticateをURLに加えてください。

public $components = array(
        'Session',
	'Auth' => array(
            'authenticate' => array(
                'Twim.Twitter' => array(/* options */),
            ),
            'loginAction' => array(
                'plugin' => 'twim',
		'controller' => 'oauth',
		'action' => 'login',
		'authenticate' => true,
            ),
        ),
    );

認証情報をデータベースへ保存する

認証時にuserModelに指定したモデルのsaveメソッドが呼び出されます。
デフォルトでは、フィールド名oauth_token, oauth_token_secret, user_id, screen_name として各情報が保存されます。

フィールド名を変更するには、userModelに指定したモデルクラスにcreateSaveDataByTokenを実装して保存データを書き換えるか、プラグインに同梱のTwitterAuthビヘイビアを利用します。