サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >会員管理(Unity):基本的な使い方

会員管理(Unity)

基本的な使い方

概要

ニフクラ mobile backend での会員の認証方法は以下の4種類です。

このページでは、ユーザー名・パスワードでの認証方法について説明していきます。
その他の認証方法を実装する場合は、各ドキュメントをご覧ください。

アプリでの実装

ユーザーの新規登録

User のインスタンスを作成後、UserName と Password を設定して SignUpAsync メソッドで登録処理を行います。

// Userインスタンスの生成
NCMBUser user = new NCMBUser();

// ユーザー名・パスワードを設定
user.UserName = "Yamada Tarou"; /* ユーザー名 */
user.Password = "password"; /* パスワード */
user.Add("phone", "987-654-3210"); /* 任意フィールドも追加可能 */

// ユーザーの新規登録処理
user.SignUpAsync((NCMBException e) => { 
    if (e != null) {
        UnityEngine.Debug.Log ("ユーザーの新規登録に失敗: " + e.ErrorMessage);
    } else {
        UnityEngine.Debug.Log ("ユーザーの新規登録に成功");
    }
});

ログイン

新規登録が完了すると、ログインができるようになります。
ログインは LogInAsync メソッドを用います。引数にはユーザー情報をユーザ名とパスワードで設定可能です。

// ユーザー名とパスワードでログイン
NCMBUser.LogInAsync ("Yamada Tarou", "password", (NCMBException e) => {
    if (e != null) {
        UnityEngine.Debug.Log ("ログインに失敗: " + e.ErrorMessage);
    } else {
        UnityEngine.Debug.Log ("ログインに成功!");
    }
});

また、ログインすることでログインしたユーザーは カレントユーザー として設定されます。カレントユーザーの権限で mBaaS 上のオブジェクトにアクセスできるようになります。

参考:データストア(Unity):アクセス権限設定

セッショントークン

ログインすると セッショントークン が発行されます。通信時に利用されるセッショントークンは、カレントユーザー に設定されているものです。ログアウトすることで セッショントークン を無効にし、ログイン状態を終了します。

  • セッショントークン の有効期限は通常24時間です
  • 有効期限切れの セッショントークン では通信できません
  • セッショントークン の有効期限は管理画面にて変更可能です

カレントユーザー

ログイン中のユーザーは カレントユーザー として設定されます。 CurrentUserプロパティを用いることで、現在カレントユーザーに設定されているユーザ情報を取得することができます。
また、画面遷移などによって保持していた セッショントークン情報 が失われた場合にも、
CurrentUserプロパティで、ローカルに保存されているカレントユーザー情報から
セッショントークン を設定をし直すことができます。

// カレントユーザー情報の取得
NCMBUser currentUser = NCMBUser.CurrentUser;
if (currentUser != null) {
    UnityEngine.Debug.Log ("ログイン中のユーザー: " + currentUser.UserName);
} else {
    UnityEngine.Debug.Log ("未ログインまたは取得に失敗");
}

参考:自動ログイン処理を実現するには?
アプリ再起動時に 自動ログイン を実施したい場合は、カレントユーザー を取得した上で セッショントークン の有効期限が切れていないかどうかを確認する処理の実装が必要です。

ログアウト

ログアウトは LogOutAsync メソッドを利用します。ログアウトすることで、カレントユーザー情報 が リセット されます。

// ログアウト
try {
    NCMBUser.LogOutAsync ();
} catch (NCMBException e) {
    UnityEngine.Debug.Log ("エラー: " + e.ErrorMessage);
}

参考:インスタンスを用いてログインしている場合の注意点
ログアウトによりシステム上の
セッショントークンは無効となりますが、インスタンスのプロパティは残ります。プロパティが残っているとセッショントークンの再取得ができないため、同一ユーザで再度ログインする場合には事前にインスタンスのログアウトを実行する必要があります。

メールアドレス確認の有無

メールアドレスが確認済み かどうかを調べるには ユーザーのmailAddressConfirmキーを使用します。

参考:「メールアドレス確認」とは?
メールアドレス認証を利用する場合、ユーザーの新規登録時に登録メールアドレス宛にメールを配信し、配信されたメールから認証を行う手順があります。この手順が実施されている状態が「メールアドレス確認済み」となります。他の認証方法でもユーザー情報に メールアドレス を設定することが可能ですが、「メールアドレス確認」が実施されていないアカウントは メールアドレス認証 を利用できません。

NCMBUser user = NCMBUser.CurrentUser;
if (user != null) {
    if (user.ContainsKey("mailAddressConfirm") && user["mailAddressConfirm"] != null) {
        if((bool)user["mailAddressConfirm"]){
            // メールアドレス確認済み
        } else {
            // メールアドレス未確認
        }
    }
}

パスワードのリセット

パスワードのリセットはメールアドレスの登録があるユーザーのみ行えます。以下のようにリセット要求を発行すると、登録メールアドレスに

  • 仮パスワード
  • 会員パスワード変更ページのURL

が送信されます。会員パスワード変更ページ で パスワードの変更 が可能です。

参考:パスワード変更 API は用意しておりません。パスワードの変更を行いたい場合はパスワードのリセットの処理が必要です。

NCMBUser.RequestPasswordResetAsync("mail@example.com", (error) => {
    if (error != null){
        // エラー処理
    } else {
        // 送信後処理
    }
});

ダッシュボードでの操作

会員の追加と編集を行う

新しい会員ボタンをクリックして、新しい会員の新規作成を選択します。
会員の新規作成

作成した会員の情報はブラウザーからも編集可能です。
会員情報の編集
会員の名前を編集し、エンターキーをクリックすることで、以下のように保存されました。
会員情報の保存

会員を削除する

レコードの左側にあるチェックボックスを選択し、削除ボタンをクリックすると会員を削除してもいいかを確認する画面が開きます。

削除ボタンをクリックすると、会員が削除されます。

フィールドを追加する

1.新しいフィールドボタンをクリックすると作成画面が表示されます。

2.フィールド名を入力すると新しくフィールドが作成されます。

フィールドを削除する

1.画面右上のクラスの編集ボタンを選択します。

2.チェックボックスを選択し削除ボタンをクリックします。

3.確認が画面が表示され削除ボタンでフィールドが削除されます。

会員認証の方法を設定する

アプリ設定の会員認証設定を開くと、ID/パスワードによる認証や
メールアドレス/パスワードによる認証の設定を行うことができます。
二つの認証方法は、下記画像のように両方有効にすることも可能です。

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ