NCMB PHP SDKでのユーザ管理の方法を解説します。
アカウント名とパスワードによるサインアップ
use Ncmb\User;
$user = new User;
$user->userName = 'Ncmb_Tarou';
$user->password = 'password_for_MyApp_user';
$user->signUp();
アプリ(サービス)内のユーザを新しく作成するにはいくつかの方法がありますが、最も簡単なのはユーザ名とパスワードでのサインアップです。この場合 \Ncmb\User クラスのインスタンスを作り、userName と password プロパティをセットした後に signUp() メソッドを呼び出します。
サインアップが終了すると、そのユーザでログインした状態となります。
メールアドレスに会員登録メールを送る
use Ncmb\User;
$mailaddress = 'hoge@example.jp';
User::sendRegistrationMail($mailaddress);
会員登録要求のリンクを含んだメールを指定したメールアドレスに送信することもできます。これには sendRegistrationMail メソッドを用います。
ユーザログイン/ログアウト
use Ncmb\User;
// ログイン
$userName = 'Ncmb_Tarou';
$password = 'password_for_MyApp_user';
$user = User::login($userName, $password);
// ログアウト
User::logout();
ユーザごとの権限管理(ACL)を行う場合は、対象ユーザによるログイン処理を行います。ユーザ名/パスワードによるログインの他、Twitter/Facebook 認証もあります。(こちらについては別に記事を書く予定です)
現在のログインユーザの取得
use Ncmb\User;
$user = User::getCurrentUser();
getCurrentUser メソッドを用いると、現在ログイン中のユーザ情報を取得できます。
ユーザの削除
use Ncmb\User;
$id = '94GpvfVnPz7pMo7c';
User::unregister($id);
ユーザのobjectIdを指定して、そのユーザを削除することができます。ただしユーザーには、標準でそのユーザしかアクセスできない権限が付加されているので、別に権限を設定しないと削除できないケースの方が多いでしょう。
ユーザに付加情報を追加
\Ncmb\User クラスは \Ncmb\Object を継承しているので、任意のキーと値をセットすることが可能です。
use Ncmb\User;
$userName = 'Ncmb_Tarou';
$password = 'password_for_MyApp_user';
$user = User::login($userName, $password);
$user->age = 24;
$user->gender = 'female';
$user->rank = 8;
$user->save();
上の例では、ユーザ名「Ncmb_Tarou」でログインした後に、そのユーザに対して
key | value |
---|---|
age | 24 |
gender | female |
rank | 8 |
という値を追加しています。