5. ユーザ管理¶
ここではユーザ管理機能の利用方法について説明します。
5.1. サインアップ¶
ユーザを新規登録します。
NbUser user = new NbUser();
// ユーザ名とE-mail アドレスを設定
// (Email は必須、ユーザ名はオプション)
user.Username = "taro_nichiden";
user.Email = "taro@example.com";
// サインアップ実行
var user = await user.SignUpAsync(password);
まずはじめに NbUser のインスタンスを取得します。
つぎに、username と email を設定し、SignUpAsync() を呼び出してサインアップを行います。 登録が成功すると、登録された NbUser のインスタンスが返却されます。
5.2. ログイン¶
// username でログインする場合
var user = await NbUser.LoginWithUsernameAsync(username, password);
// email でログインする場合
var user = await NbUser.LoginWithEmailAsync(email, password);
ログインが完了すると、ログイン状態(セッショントークン)がメモリ上に保存されます。
5.3. ワンタイムトークンログイン¶
SAML/OIDCを使用したワンタイムトークンログインは以下のように実施します。
// ログイン用のパラメータ作成
var param = new NbUser.LoginParam() { Token = onetimeToken };
// ログイン
var user = await NbUser.LoginAsync(param, service);
SAML/OIDCログインについては、 認証機能ガイド の「ADFS/SAML認証」および「OpenID Connect認証」の「アプリケーションの開発」 ⇒「Nativeアプリケーション(C#)」を参照してください。
5.6. パスワードリセット¶
// username でリセットする場合
await NbUser.ResetPasswordWithUsernameAsync(username);
// email でリセットする場合
await NbUser.ResetPasswordWithEmailAsync(email);
username と email のいずれかを使ってパスワードをリセットします。 パスワードリセットを実行すると、確認メールがユーザに送信されます。
5.7. オフラインログイン¶
オフラインログイン機能を使用する場合は、NbUser の代わりに NbOfflineUser クラスを 使用して下さい。
以下に例を示します。
var user = await NbOfflineUser.LoginWithUsernameAsync(username, password, LoginMode.Auto);
第3引数に LoginMode を指定します。LoginMode には以下のいずれかの値を使用できます。
- LoginMode.Online : オンラインログインを行います。ログインに成功すると、ログインキャッシュが作成されます。
- LoginMode.Offline : オフラインログインを行います。ログインキャッシュが予め作成されている必要があります。
- LoginMode.Auto : ネットワークが接続されていればオンラインログイン、接続されていなければオフラインログインを行います。