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