5. ユーザ管理

ここではユーザ管理機能の利用方法について説明します。

5.1. サインアップ

NEC BaaS Embedded SDKではユーザの新規登録をサポートしていません。 デベロッパーコンソールなどから事前にユーザを作成しておく必要があります。

5.2. ログイン

ログインには NbUser の LoginWithEmail()もしくはLoginWithUsername() を使用します。

LoginWithEmail()を使用した例は以下の通りです。

// Email指定のログイン
NbResult<NbUser> resultUser = NbUser::LoginWithEmail(&service1, "email@test.example.com", "password");
if(resultUser.IsSuccess()) {
    // ログイン成功
    auto user = resultUser.GetSuccessData();
} else {
    // 失敗
}

LoginWithEmail() の第一引数に使用するサービス、第ニ引数に メールアドレス、第三引数にパスワードを指定します。

ログインが完了すると、ログイン状態(セッショントークン)が引数に指定したサービス内に保存されます。 以降の処理では該当ユーザの権限で処理を行うことができます。

注釈

セッショントークンには有効期限があります。 有効期限が切れると、未ログイン状態となります。 セッショントークンの有効時間はデベロッパコンソールで変更可能です(デフォルトは24時間)。

5.3. ログイン状態の取得とログアウト

ユーザがログイン状態かどうかは IsLoggedIn() で確認できます。 またログアウトは Logout() で行います。 未ログインの状態でLogout()をコールするとエラーが発生するため、以下のように組み合わせて使用します。

// ログイン状態の確認
if(NbUser::IsLoggedIn(service1)) {
    // ログイン中のため、ログアウトする
    NbUser::Logout(service1);
}

注釈

セッショントークンが有効期限切れの場合は false が返ります。

Logout()で通信に失敗するなどの異常が発生した場合も、セッショントークンを破棄して未ログイン状態となります。