SimpleAuth Login
Auth パッケージの はじめに で述べたとおり、認証システムは 3 つのドライバで成り立っており、
それぞれがシステムの一部として機能します。
SimpleAuth Login ドライバは、ローカルのデータベーステーブルに保存するユーザアカウントの、
生成・更新・削除・検証のロジックを提供します。ユーザアカウントの情報を得たり、パスワードの作成やリセット、
ログインやログアウト(ユーザセッションの作成)を扱うためのものです。
クラスメソッド
validate_user($username_or_email = '', $password = '')
validate_user メソッドはログインを検証します。認証情報として、ユーザ名とメールアドレスの両方をサポートしています。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$username_or_email |
必須 |
ユーザ名またはメールアドレス |
$password |
必須 |
ユーザのパスワード |
|
返り値 |
mixed 。認証に失敗すれば false を、成功した場合はユーザ情報の配列を返す。 |
login($username_or_email = '', $password = '')
login メソッドはログインリクエストを扱います。ログインする前に validate_user() を呼び出し、リクエストを検証します。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$username_or_email |
必須 |
ユーザ名またはメールアドレス |
$password |
必須 |
ユーザのパスワード |
|
返り値 |
論理型。ログインに成功すれば true を、そうでなければ false を返す。 |
ログイン成功後、 'username' と現在の 'login_hash' が、セッション変数として利用できます。
force_login($user_ids = '')
force_login メソッドは強制的なログインリクエストを扱います。ユーザ id が手元にあり
パスワードがわかっていないときに自動ログインさせるために利用できます。「ログイン状態を保持する」機能として利用できます。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$user_id |
必須 |
ログインさせたいユーザの id |
|
返り値 |
論理型。ログインに成功すれば true を、そうでなければ false を返す。 |
logout()
logout メソッドは現在ログイン中のユーザをログアウトさせます。
静的 |
No |
パラメータ |
なし
|
返り値 |
論理型。ログアウトが成功し場合、 true を、そうでなければ false を返す。 |
ゲストユーザをサポートする場合は、ログアウト成功後に現在のユーザとしてゲストをセットアップします。
create_user($username, $password, $email, $group = 1, Array $profile_fields = array())
create_user メソッドは、ユーザ情報テーブルに新しいユーザレコードを作成します。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$username |
必須 |
作成するユーザ名。 |
$password |
必須 |
作成するユーザのパスワード |
$email |
必須 |
作成するユーザのメールアドレス |
$group |
1 |
作成するユーザの所属グループ。デフォルトではグループ 1 に所属します。 |
$profile_fields |
array()
| 作成するユーザの追加プロフィールフィールド |
|
例外 |
SimpleUserUpdateException |
返り値 |
mixed 。作成されたユーザレコードの id を返す。作成に失敗した場合は false を返す。 |
update_user($values, $username = null)
update_user メソッドは、ユーザレコードの更新を行います。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$values |
array()
| カラム名と値がペアになった連想配列、もしくは、更新したいプロフィールフィールド |
$username |
必須 |
更新したいユーザのユーザ名(訳注:'you want to create' になっているが、'update' の間違いと思われる) |
|
例外 |
SimpleUserUpdateException |
返り値 |
論理型。カラムが更新されれば true を、どのカラムも変更がなければ false を返す。 |
このメソッドではユーザ名の変更ができないことに注意。また、セキュリティ対策として、
パスワードを変更する場合は、現在のパスワードを $values に "old_password" として渡す必要があります。
change_password($old_password, $new_password, $username = null)
change_password は、ユーザパスワードの変更ができます。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$old_password |
必須 |
ユーザの現在のパスワード |
$new_password |
必須 |
ユーザの新しいパスワード |
$username |
必須 |
パスワードを変更したいユーザのユーザ名 |
|
例外 |
SimpleUserUpdateException |
返り値 |
論理型。パスワードが変更されれば true を、 $old_password が正しくなければ false を返す。 |
reset_password($username)
reset_password メソッドは、ユーザに新しいランダムなパスワードを割り当てます。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$username |
必須 |
パスワードをリセットしたいユーザのユーザ名 |
|
例外 |
SimpleUserUpdateException |
返り値 |
文字列、生成されたランダムなパスワード。 |
delete_user($username)
delete_user メソッドは、ユーザアカウントを削除します。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$username |
必須 |
削除したいユーザのユーザ名 |
|
例外 |
SimpleUserUpdateException |
返り値 |
論理型。ユーザアカウントが削除されれば true を、削除に失敗した場合 (ユーザが存在しなかった場合) は false を返す。 |
create_login_hash()
create_login_hash メソッドは、現在ログイン中のユーザのログインハッシュを生成します。
静的 |
No |
パラメータ |
なし
|
返り値 |
文字列、生成されたログインハッシュ。 |
get_user_id()
get_user_id メソッドは、ドライバの id 、現在ログイン中のユーザの id の配列を返します。
静的 |
No |
パラメータ |
なし
|
返り値 |
mixed 。ユーザがログイン中なら、 array([0]=>driver_id, [1]=>user_id) 形式の数値配列を、そうでなければ false を返す。 |
ゲストユーザをサポートしている場合、ゲストユーザのユーザ id が返るので false は返ることはありません。
get_groups()
get_groups メソッドは、ログイン中のユーザが所属するグループを返します。
静的 |
No |
パラメータ |
なし
|
返り値 |
mixed 。ユーザがログイン中なら、 array(array('SimpleGroup', group_id)) 形式の配列を、そうでなければ false を返します。 |
get_email()
get_email メソッドは、現在ログイン中のユーザに対応するメールアドレスを返します。
静的 |
No |
パラメータ |
なし
|
返り値 |
mixed 。ユーザがログイン中ならメールアドレスを、現在のユーザにメールアドレスがない場合やログイン中のユーザがいない場合は false を返す。 |
get_screen_name()
get_screen_name メソッドは、現在ログイン中のユーザの表示名を返します。
静的 |
No |
パラメータ |
なし
|
返り値 |
mixed 。表示名の文字列を返す。ログイン中のユーザがいなければ false を返す。 |
get_profile_fields($field = null, $default = null)
get_profile_fields メソッドは、現在ログイン中のユーザのプロフィールフィールドを返します。
静的 |
No |
パラメータ |
パラメータ |
規定値 |
説明 |
$field |
null
| 取得したいプロフィールフィールド名。 |
$default |
null
| 取得したいプロフィールフィールドが存在しなかったときのデフォルト返り値。 |
|
返り値 |
mixed |
guest_login()
guest_login メソッドは、ゲストログインが可能か確認します。
静的 |
No |
パラメータ |
なし
|
返り値 |
論理型。ゲストログインがサポートされていれば true を、そうでなければ false を返す。 |