5. ユーザ管理¶
ここではユーザ管理機能の利用方法について説明します。
5.1. ユーザ登録¶
最初に baas.User クラスインスタンスを作成してユーザ情報をプロパティに設定し、 baas.User.register() で登録します。
user = baas.User(service)
user.username = "username"
user.email = "email address"
user.password = "password"
user.options = {} # option info
user.register()
5.2. ログイン¶
ログインする場合には、baas.User.login() を呼び出します。
ユーザ名または E-mail を使用してログインします。
result = baas.User.login(service, username="user1", password="Passw0rD")
result = baas.User.login(service, email="user1@example.com", password="Passw0rD")
ログインが成功すると、service インスタンスにセッショントークンがセットされます。 セッショントークンの値は service.session_token で取得できます。
5.4. ユーザ検索¶
ユーザ検索を行う場合は、baas.User.query() を使用します。
ユーザ名または E-mail を検索条件に指定できます。どちらも指定しない場合は全件検索となります。 いずれの場合でも、結果はユーザ情報の dict の配列になります。
users = baas.User.query(service) # 全検索
users = baas.User.query(service, username="user1") # ユーザ名指定検索
users = baas.User.query(service, email="user1@example.com") # メールアドレス指定検索
5.5. ユーザの取得¶
ユーザを取得するには、 baas.User.get() の引数にユーザIDを指定して呼び出します。
user = baas.User.get(service, user_id="userId")
5.6. ユーザの更新¶
ユーザを更新するには、 baas.User クラスインスタンスを作成してユーザ情報をプロパティに設定し、 update() の引数にユーザIDを指定して呼び出します。
user = baas.User(service)
user.username = "username"
user.email = "email address"
user.password = "password"
user.options = {} # option info
user.update(user_id="userId", etag="userEtag")
注意
カレントユーザ以外を更新する場合は、SDK 初期化時のアプリケーションキーにマスターキーを指定する必要があります。
5.7. ユーザの削除¶
ユーザを削除するには、baas.User.remove() の引数にユーザIDを指定して呼び出します。
baas.User.remove(service, user_id="userId")
注意
カレントユーザ以外を削除する場合は、SDK 初期化時のアプリケーションキーにマスターキーを指定する必要があります。
5.8. パスワードリセット¶
パスワードリセットを行う場合は、baas.User.reset_password() を使用します。
username と email のいずれかを使ってパスワードをリセットします。 パスワードリセットを実行すると、確認メールがユーザに送信されます。
# username でリセットする場合
baas.User.reset_password(service, username="username")
# email でリセットする場合
baas.User.reset_password(service, email="email@example.com")