get_id()
ドライバのユニーク id を返します。ドライバを区別したり、特定のドライバのインスタンスを選択するために使います。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | ドライバ id の文字列 |
| 例 |
|
Auth パッケージは Fuel における標準化された認証インターフェイスを提供します。 これにより、ユーザは自分自身で新しいドライバを書くことができ、 基本的なメソッドを保つことで、古いコードに新しいドライバを簡単に統合することもできます。
このドライバは、すべての Auth Login ドライバの基底クラスです。抽象クラスとして定義されており、 すべての Login ドライバに汎用なメソッド、 Login ドライバが必ず実装しなければならないメソッドの 抽象メソッドの定義が含まれています。
Group ドライバは必要に応じて追加のドライバをロードできます。一般的には、 ACL ドライバがこれにあたります。 しかし、実装次第では、カスタムタイプのドライバを導入して利用することも可能です。そのためには、ドライバクラスに次の構造を追加してください:
// SimpleGroup という Group ドライバを、この Login ドライバのロード時にオートロード
// さらに、ドライバが getter メソッドを持つ追加のユーザレコードフィールドを定義
protected $config = array(
'drivers' => array('group' => array('SimpleGroup')),
'additional_fields' => array('profile_fields'),
);
汎用メソッドは、 Login 基底ドライバに定義されており、継承によりすべての Auth Login ドライバから使うことができます。 これらのメソッドが提供する関数には、インスタンスを生成・取得したり、 config の値を設定・取得したり、パスワードをハッシュ値にする汎用メソッドや ACL ・ Group ドライバにアクセスするものがあります。
クラスに定義されているメソッドのうち、ドキュメントに記載されていないものは内部で利用されてるものなので、直接呼び出さないようにしてください。
ドライバのユニーク id を返します。ドライバを区別したり、特定のドライバのインスタンスを選択するために使います。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | ドライバ id の文字列 |
| 例 |
|
ドライバの config の値を設定します。
| 静的 | No | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| パラメータ |
|
|||||||||
| 返り値 | void | |||||||||
| 例 |
|
ドライバの config の値を取得します。
| 静的 | No | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| パラメータ |
|
|||||||||
| 返り値 | mixed | |||||||||
| 例 |
|
ドライバがゲストログイン(認証されないゲストユーザ)を許可しているかどうかを返す。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | 論理型 |
| 例 |
|
デフォルトでは、このメソッドは 'false' を返します。ゲストログインをサポートしたいときは、 このメソッドを拡張クラスでオーバーライドしてください。
現在ログイン中のユーザの配列を少なくとも表示名とメールアドレスを含んで返します。 追加フィールドは、ドライバの config で設定するか、 $additional_fields 配列を通じてリクエストできます。 ただし、追加フィールドが getter メソッドで取得できるように get_user_フィールド名() メソッドが ドライバ内になければなりません。
| 静的 | No | ||||||
|---|---|---|---|---|---|---|---|
| パラメータ |
|
||||||
| 返り値 | 配列 | ||||||
| 例 |
|
'additional_fields' をドライバの設定配列に定義することで、このメソッドを呼び出したときに追加したフィールドをデフォルトで返り値に含めるようにできます。
渡されたパスワードのハッシュ値を base64 エンコードで返します。このメソッドは非常にセキュアな pbkdf2 ハッシュアルゴリズムを使用しています。
| 静的 | No | ||||||
|---|---|---|---|---|---|---|---|
| パラメータ |
|
||||||
| 返り値 | 文字列 | ||||||
| 例 |
|
どの自作 Login ドライバも、以下のメソッドを用意しなければなりません。また、ここで記載されたとおりに値を返さなければなりません。
内部のクラスメソッドで、現在のユーザについて認証済みセッションがあるかをチェックします。自作ドライバでは、このメソッドをどう定義するかを決める必要があります。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | 論理型、認証済みのユーザセッションがある場合 true 、そうでなければ false 。 |
このメソッドは Auth::check() から呼ばれます。アプリケーションから直接呼び出さないようにしてください。
validate_user メソッドはログインを検証します。自作ドライバでは、このメソッドがどう振る舞うかを決める必要があります。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | mixed 。ユーザからのログインリクエストが失敗した場合、 false を返す必要があります。 true と評価されうるすべての返り値は検証に成功したものとして扱われます。 |
このメソッドをアプリケーションから呼び出すときは、 false 以外の返り値に何がくるか決めつけてはいけません!
login メソッドはログインリクエストを扱います。リクエストを検証するために validate_user() 呼び出す必要があります。自作ドライバでは、このメソッドがどう振る舞うかを決める必要があります。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | 論理型。ログインが成功し場合、 true を、そうでなければ false を返す。 |
ゲストユーザをサポートする場合は、 false を返す前にゲストのセットアップをしてください。
logout メソッドは現在ログイン中のユーザをログアウトさせます。自作ドライバでは、このメソッドがどう振る舞うかを決める必要があります。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | 論理型。ログアウトが成功し場合、 true を、そうでなければ false を返す。 |
ゲストユーザをサポートする場合は、ログアウト成功後に現在のユーザとしてゲストをセットアップしてください。
get_user_id メソッドは、 ドライバ id の値、現在ログイン中のユーザの id を配列で返します。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | mixed 。 ユーザがログイン中なら array(driver_id, user_id) 形式の配列を、そうでなければ false を返す。 |
ゲストユーザをサポートする場合は、 (ダミーの) ユーザ id が入った配列を返してください。 false を返してはいけません!
get_groups メソッドは、現在ログイン中のユーザが属しているユーザグループを返します。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | mixed 。ユーザがログイン中なら、 array(array(driver_id, group_id), array(driver_id, group_id), etc) 形式の配列を、そうでなければ false を返す。 |
ゲストユーザをサポートする場合は、ゲストユーザグループの配列を返してください。 false では駄目です!
get_email メソッドは、現在ログイン中のユーザに対応するメールアドレスを返します。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | mixed 。 ユーザがログイン中ならメールアドレスを、現在のユーザにメールアドレスがない場合やログイン中のユーザがいない場合は false を返す。 |
ゲストユーザをサポートする場合は、ゲストユーザ用にメールアドレスを指定していないときに false を返すことを忘れずに!
get_screen_name メソッドは、現在ログイン中のユーザの表示名を返します。
| 静的 | No |
|---|---|
| パラメータ | なし |
| 返り値 | mixed 。表示名の文字列を返す。ログイン中のユーザがいなければ false を返す。 |
ゲストユーザをサポートする場合は、ゲスト用の表示名を返してください。 false では駄目です!