Class: User

User

ユーザ管理 クラス


new User()

ユーザオブジェクトを生成する。

生成しただけの状態では、まだサーバには登録されていない。ユーザ登録は User#register で実施する。

Returns:

新規ユーザオブジェクトのインスタンス

Type
Object
Example
var user = new Nebula.User();

Members


_id :String

ユーザID

Type:
  • String

clientCertUser :boolean

クライアント証明書認証ユーザの場合は true
(ブラウザ、またはNode.jsのみ対応)

Type:
  • boolean

createdAt :String

作成日時

Type:
  • String

email :String

E-mail アドレス

Type:
  • String

etag :String

ETag

Type:
  • String

expire :String

セッショントークン有効期限(unix time [秒])

Type:
  • String

federated :boolean

外部認証連携有りの場合は true
(ブラウザ、またはNode.jsのみ対応)

Type:
  • boolean
Default Value:
  • false

groups :Array.<String>

所属グループ一覧 (read only)

Type:
  • Array.<String>

lastLoginAt :String

最終ログイン日時

Type:
  • String

options :Object

オプション (JSON)

Type:
  • Object

password :String

パスワード

Type:
  • String

primaryLinkedUserId :String

プライマリリンクユーザID
OpenID Connect認証でユーザ自動生成時のリンクユーザID
(ブラウザ、またはNode.jsのみ対応)

Type:
  • String
Default Value:
  • null

sessionToken :String

セッショントークン

Type:
  • String

updatedAt :String

更新日時

Type:
  • String

username :String

ユーザ名

Type:
  • String

Methods


<static> current(callbacks)

カレントユーザ取得

・カレント(ログイン中)のユーザを取得する。
・本情報はクライアントにキャッシュされている情報のため、サーバの最新情報とは一致しない場合がある。

Parameters:
Name Type Description
callbacks Callbacks

応答コールバック (Deprecated)

・callbacks は、成功時と失敗時の応答コールバックを指定する。
  callbacks 引数は後方互換性維持のためにのみ存在するので、通常指定する必要はない。
    {
        success : function(user) {
            // 成功時の処理
        },
        error : function(error) {
            // 失敗時の処理
        }
    }
・処理が成功した場合、success コールバックを呼び出す。引数は、返り値と同じ。
・本 API は失敗することはないため、error が呼ばれることはない。
Returns:

ユーザオブジェクトのインスタンス。カレントユーザが存在しない場合は null が返る。

返り値に設定されるプロパティは以下のとおり。

  • _id : ユーザID
  • sessionToken : セッショントークン
  • expire : セッショントークン有効期限 (unix time [秒])
以下の情報はオフライン機能無効時のみ取得可
  • username : ユーザ名
  • email : E-mailアドレス
  • options : オプション
  • groups : 所属グループ一覧
Type
User

<static> delete()

ユーザ削除 (Deprecated)

本APIは Deprecated である。User.removeを使用すること。

Deprecated:
  • since v4.0.1

OpenID Connectリンク情報削除

・ユーザに設定された OpenID Connect リンク情報を削除する。
・本 API はオフラインモードでは使用できない。

Parameters:
Name Type Description
user Object

リンク情報削除するユーザオブジェクトのインスタンス。
null は指定できない。
リンク情報削除に必要なインスタンスのプロパティは、以下の通り。

  • _id : リンク情報削除するユーザのID

カレントユーザ以外のリンク情報を削除する場合は、SDK 初期化時のアプリケーションキーにアプリケーションのマスターキーを指定すること。

linkedUserId string

削除するリンクユーザID。
null は指定できない。
user の primaryLinkedUserId と一致した場合は、例外をスローする。

callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
  success の引数は無し。
Since:
  • v6.5.0
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

OpenID Connectリンク情報取得

・ユーザに設定された OpenID Connect リンク情報を取得する。
・本 API はオフラインモードでは使用できない。

Parameters:
Name Type Description
user Object

リンク情報取得するユーザオブジェクトのインスタンス。
null は指定できない。
リンク情報取得に必要なインスタンスのプロパティは、以下の通り。

  • _id : リンク情報取得するユーザのID

カレントユーザ以外のリンク情報を取得する場合は、SDK 初期化時のアプリケーションキーにアプリケーションのマスターキーを指定すること。

callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success(links)
            links : リンク情報 (Nebula.AccountLink インスタンス) の配列
            リンク情報が存在しない場合は、空が返る。
Since:
  • v6.5.0
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> login(userInfo, callbacks)

ログイン

Parameters:
Name Type Description
userInfo Object

ユーザ情報。 JSON 形式で指定する。null は指定できない。

    {
        "email"         : "foo@example.com",
        "password"      : "passwOrd"
    }
 

    {
        "token"         : "TOKEN"
    }
 
  • email : E-mailアドレス(※)
  • username : ユーザ名(※)
  • token : ワンタイムトークン(※)
  • password : パスワード(E-mailアドレス、ユーザ名指定時は必須)
(Y) email か username か token のいずれかを指定する。

callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success(user)
            user : ログインしたユーザオブジェクトのインスタンス
            処理の成功により、以下のユーザオブジェクトのプロパティが格納される
                (プロパティ名)
                _id          : ログインしたユーザのID
                sessionToken : セッショントークン
                expire       : ログインの有効期限 (unix time [秒])
                (以下の情報はオフライン機能無効時のみ取得可)
                username     : ユーザ名
                email        : E-mail
                options      : オプション情報(JSON)
                groups       : ユーザが所属するグループ名の配列
                createdAt    : ユーザの作成日時
                updatedAt    : ユーザの更新日時
                lastLoginAt  : ユーザの最終ログイン日時
                etag         : ETag
                federated    : 外部認証連携有無
                primaryLinkedUserId : プライマリリンクユーザID
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> logout(callbacks)

ログアウト

Parameters:
Name Type Description
callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success()
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> query(conditions, callbacks)

ユーザ検索

Parameters:
Name Type Description
conditions Object

検索条件。

JSON 形式で指定する。省略した場合は全件検索となる。 検索用プロパティは以下の通り。

  • _id : ユーザのID(※)
  • email : E-mailアドレス(※)
  • username : ユーザ名(※)
  • skip : スキップカウント
  • limit : 件数上限(0は無制限、デフォルトは100)
  • countQuery : 全件検索時に全件数をカウントする場合は true (デフォルトは false)
(※) _id かemail かusername のいずれか1つを指定する。 いずれも指定しない場合は全件検索となる。 全件検索時は skip/limit で検索範囲を指定する。 (ただし skip/limit はオフライン有効時は無効)

callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    conditions.countQuery が false の場合、success の書式は以下の通りとなる。
        success(users)
            users : 取得したユーザオブジェクトインスタンスの配列
            処理の成功により、配列毎に以下のユーザオブジェクトのプロパティが更新される
                (プロパティ名)
                username    : ユーザ名
                email       : E-mailアドレス
                options     : オプション
                groups      : 所属グループ一覧 (注: '_id' を指定して検索した場合のみ。オフライン機能有効時は無効。)
                createdAt   : ユーザ登録日付
                updatedAt   : 最終更新日付
                lastLoginAt : 最終ログイン日時(マスターキー使用時のみ)
                etag        : ETag
                federated   : 外部認証連携有無
                primaryLinkedUserId : プライマリリンクユーザID

    conditions.countQuery が true の場合、success の書式は以下の通りとなる。
        success(json)
            json.users : 取得したユーザオブジェクトインスタンスの配列。内容は上記 users と同じ。
            json.count : 全件数

Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> queryCurrent(callbacks)

カレントユーザ取得(サーバ問合せ)

・カレント(ログイン中)のユーザを取得する。サーバへの問い合わせが発生する。

Parameters:
Name Type Description
callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success(user)
            user : ユーザオブジェクトのインスタンス。
            カレントユーザが存在しない場合は、null が返る。
          user に設定されるプロパティは以下のとおり。
                (プロパティ名)
                _id         : ユーザID
                username    : ユーザ名
                email       : E-mailアドレス
                options     : オプション
                groups      : 所属グループ一覧 (注: '_id' を指定して検索した場合のみ。オフライン機能有効時は無効。)
                createdAt   : ユーザ登録日時
                updatedAt   : 最終更新日時
                lastLoginAt : 最終ログイン日時
                etag        : ETag
                federated   : 外部認証連携有無
                primaryLinkedUserId : プライマリリンクユーザID
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> remove(user, callbacks)

ユーザを削除する。

Parameters:
Name Type Description
user Object

削除するユーザオブジェクトのインスタンス。 user にnull は指定できない。 ユーザ削除に必要なインスタンスのプロパティは、以下の通り。

  • _id : 更新するユーザのID
ユーザID は、ユーザ登録が成功した場合にSDK がユーザプロパティに設定する。

カレントユーザ以外を削除する場合は、SDK 初期化時のアプリケーションキーにアプリケーションのマスターキーを指定すること。

callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success()
Since:
  • v4.0.1
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> resetPassword(userInfo, callbacks)

ユーザパスワードリセット

・ユーザパスワードのリセットを行う。
・ユーザパスワードのリセットは一定の時間内にリクエストできる回数に制限がある。

Parameters:
Name Type Description
userInfo Object

ユーザ情報。 JSON 形式で指定する。null は指定できない。 以下いずれかのプロパティを指定すること。

  • email : E-mailアドレス
  • username : ユーザ名
callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success()
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

<static> saveCurrent(userInfo)

カレントユーザ強制設定

・カレント(ログイン中)のユーザを強制設定する。
・すでにカレントユーザが存在する(ログイン中)の場合は、指定したプロパティだけが上書きされる。
・本情報はクライアントにキャッシュされる。
・本 API はオフラインモードでは使用できない。
・本 API は通常のアプリケーションで使用するべきものではない。

Parameters:
Name Type Description
userInfo Object

ユーザ情報(JSON)。null を指定した場合は、カレントユーザを削除する。

userInfo の書式は以下の通りとする。 指定したプロパティだけが上書き設定される。

  • _id : ユーザID
  • sessionToken : セッショントークン
  • expire : セッショントークン有効期限 (unix time [秒])
  • username : ユーザ名
  • email : E-mailアドレス
  • options : オプション
  • groups : 所属グループ一覧

<static> update(user, callbacks)

ユーザ情報更新

Parameters:
Name Type Description
user User

更新するユーザオブジェクトのインスタンス。

user にnull は指定できない。 更新に必要なインスタンスのプロパティは、以下の通り。

  • _id : 更新するユーザのID(※)
  • email : 更新するE-mailアドレス(オプション)
  • password : 更新するパスワード(オプション)
  • username : 更新するユーザ名(オプション)
  • options : オプション(オプション) optionsには、JSON形式で記述された任意のオブジェクトを指定できる。
(※) ユーザID は、ユーザ登録が成功した場合にSDK がユーザプロパティに設定する。

カレントユーザ以外を更新する場合は、SDK 初期化時のアプリケーションキーにアプリケーションのマスターキーを指定すること。

callbacks Callbacks

応答コールバック

・処理が成功した場合、success の呼び出しにて通知する。
    success の書式は以下の通りとする。
        success(user)
            user : 更新したユーザオブジェクトのインスタンス
            処理の成功により、以下のユーザオブジェクトのプロパティが更新される
                (プロパティ名)
                username    : 更新されたユーザ名
                email       : 更新されたE-mailアドレス
                updatedAt   : 最終更新日付
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

get(property)

ユーザプロパティ取得 (Deprecated)

・ユーザオブジェクトのプロパティを取得する。
・取得可能なプロパティの詳細は、各メソッドの説明を参照のこと。
・本メソッドは deprecated である。各フィールドの getter を直接使用すること。

Parameters:
Name Type Description
property String

プロパティ名。 指定可能なプロパティ名は以下のとおり(APIによって取得可能なプロパティは異なる)。

  • _id : ユーザID
  • username: ユーザ名
  • email: E-mailアドレス
  • password: パスワード
  • options: オプション情報 (JSON)
  • groups: 所属グループ一覧 (配列)
  • createdAt: ユーザ登録日時
  • updatedAt: ユーザ更新日時
  • sessionToken: セッショントークン
  • expire: セッショントークン有効期限(unix time [秒])
  • clientCertUser: クライアント証明書ユーザ (ブラウザ、またはNode.jsのみ対応)
  • federated: 外部認証連携有無
  • primaryLinkedUserId: プライマリリンクユーザID
Deprecated:
  • Yes
Returns:

value プロパティ値

Type
String

register(callbacks)

ユーザを登録する。

ユーザ登録に必要なユーザプロパティは、以下の通り。

  • email : E-mailアドレス(必須)
  • password : パスワード(必須)
  • username : ユーザ名(オプション)
  • options : オプション(オプション)。JSON形式で記述された任意のオブジェクトを指定できる。
クライアント証明書認証用のユーザの登録を行う場合のユーザプロパティは以下の通りとする clientCertUserをtrueに設定した場合、email/passwordは無視する。 (ブラウザ、またはNode.jsのみ対応)
  • username : ユーザ名(必須)
  • clientCertUser : クライアント証明書ユーザ trueを設定すること(必須)
  • options : オプション(オプション) optionsには、JSON形式で記述された任意のオブジェクトを指定できる。
Parameters:
Name Type Description
callbacks Callbacks

応答コールバック。

処理が成功した場合、success の呼び出しにて通知する。 なお、処理が成功した状態ではまだログインは実施していない。 引数は以下の通り。

    user : ユーザオブジェクトのインスタンス
    処理の成功により、以下のユーザオブジェクトのプロパティが追加格納される
        (プロパティ名)
        _id         : 登録したユーザのID
        createdAt   : 登録日付
        updatedAt   : 最終更新日付
Returns:

callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。

Type
Promise

set(property, value)

ユーザプロパティ設定 (Deprecated)

・ユーザオブジェクトのプロパティを設定する。
・設定可能なプロパティの詳細は、各メソッドの説明を参照のこと。
・本メソッドは deprecated である。各フィールドの setter を直接使用すること。

Parameters:
Name Type Description
property String

プロパティ名。 指定可能なプロパティ名は以下のとおり。

  • _id : ユーザID
  • username: ユーザ名
  • email: E-mailアドレス
  • password: パスワード
  • options: オプション情報 (JSON)
  • createdAt: ユーザ登録日時
  • updatedAt: ユーザ更新日時
  • sessionToken: セッショントークン
  • expire: セッショントークン有効期限(unix time [秒])
  • clientCertUser: クライアント証明書ユーザ (ブラウザ、またはNode.jsのみ対応)
  • federated: 外部認証連携有無
  • primaryLinkedUserId: プライマリリンクユーザID
value String

プロパティ値

Deprecated:
  • Yes
Returns:

this

Type
User