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 を返す。