5. ユーザ管理¶
ここではユーザ管理機能の利用方法について説明します。
5.1. サインアップ¶
ユーザを新規登録します。
// NBUser インスタンスの生成
NBUser *user = [NBUser new];
user.username = @"taro";
user.email = @"taro@nichiden.example.com";
// サインアップ
[user signUpInBackgroundWithPassword:@"Passw0rd" block:^(NBUser *user, NSError *error) {
if (!error) {
NSLog(@"Success");
} else {
NSLog(@"Error %@", error);
}
}];
まずはじめに NBUser のインスタンスを生成します。 NBUser の username, email プロパティにそれぞれユーザID, E-mail アドレスをセットしておきます。
サインアップは signUpInBackgroundWithPassword:block: で行います。 引数としてパスワードとブロックを指定します。登録が完了するとブロックが呼び出されます。
5.2. ログイン¶
ログインには NBUser の logInInBackgroundWithUsername:email:password:block を使用します。
[NBUser logInInBackgroundWithUsername:username email:email password:password block:^(NBUser *user, NSError *error) {
if (!error) {
NSLog(@"Login success");
} else {
NSLog(@"Login error : %@", error);
}
}];
username と email にはどちらか一方のみを指定し (指定しないほうは nil にしてください)、 passsword とブロックを指定して呼び出します。処理が完了するとブロックが呼び出されます。
ログインが完了すると、ログイン状態(セッショントークン)がストレージに保存されます。
5.3. ログイン状態の取得¶
ユーザがログイン状態かどうかは NBUser の loggedIn で確認できます。
if ([NBUser loggedIn]) {
NSLog(@"ログイン中");
} else {
NSLog(@"未ログイン");
}
また、ログイン中のユーザは currentUser で取得できます。
NBUser *user = [NBUser currentUser];
NSLog(@"user id = %@", user.userId);
NSLog(@"username = %@", user.username);
NSLog(@"email = %@", user.email);
5.4. ログアウト¶
ログアウトは logOutInBackgroundWithBlock: で行います。
[NBUser logOutInBackgroundWithBlock:^(NBUser *user, NSError *error) {
NSLog(@"Logged out");
}];
5.5. パスワードリセット¶
パスワードリセットは resetPasswordInBackgroundWithUsername:email:block: で行います。 username と email はいずれか一方を指定します。
[NBUser resetPasswordInBackgroundWithUsername:username email:email block:^(NSError *error) {
if (!error) {
NSLog(@"パスワードリセットメールを送信しました");
} else {
NSLog(@"Error %@", error);
}
}];