new NebulaService()
NebulaService コンストラクタ。
NebulaService インスタンスを生成する。生成したインスタンス毎に異なるテナント/アプリに接続できる。 Nebula はデフォルトの NebulaService インスタンスである。
Example
var service2 = new Nebula.NebulaService();
Members
-
<static, constant> this.BUCKET_MODE_LOCAL
-
バケットモード - ローカルモード
-
<static, constant> this.BUCKET_MODE_ONLINE
-
バケットモード - オンラインモード
-
<static, constant> this.BUCKET_MODE_REPLICA
-
バケットモード - レプリカモード
Methods
-
getAppID()
-
アプリケーションIDを取得する
Returns:
アプリケーションID
- Type
- string
-
getAppKey()
-
アプリケーションキーを取得する
Returns:
アプリケーションキー
- Type
- string
-
getBaseUri()
-
エンドポイントURLを取得する
Returns:
エンドポイントURL
- Type
- string
-
getCurrentUser()
-
カレントユーザのログイン情報を返す。 未ログイン、またはセッショントークンが有効期限切れの場合は null を返す。
Returns:
ユーザ情報。_id, username, email, sessionToken, expire, options, groups フィールドが含まれる。
- Type
- Object
-
getLoginCacheValidTime(callbacks)
-
ログインキャッシュ有効期限の取得(オフライン機能限定)
・オフライン用ログインキャッシュ有効期限を取得する。
Parameters:
Name Type Description callbacks
Callbacks 結果を受け取るコールバック
・callbacks は、成功時と失敗時の応答コールバックを指定する。 { success : function(expire) { // 成功時の処理 // expire : ログインキャッシュ有効期限 }, error : function(error) { // 失敗時の処理 } } ・処理が成功した場合、success の呼び出しにて通知する。 success の書式は以下の通りとする。 success(expire) expireには、ログインキャッシュ有効期限(秒)が格納される。 ・処理が失敗した場合は、error の呼び出しにて通知する。 error の書式は以下の通りとする。 error(error) error : エラー要因がJSON 形式で返る。 { "status" : ステータスコード, "statusText" : エラーメッセージ, "responseText" : レスポンスメッセージ }
Returns:
Promise
- Type
- Promise.<any>
-
getServiceID()
-
サービスIDを返す
Returns:
サービスID
- Type
- string
-
getTenantID()
-
テナントIDを取得する
Returns:
テナントID
- Type
- string
-
initialize(params)
-
MBaaS JavaScript SDK 初期化
・MBaaS JavaScript SDK(以降、SDKと称す)を初期化する。
・アプリケーションは、SDK の初回利用またはパラメータ変更を行う際に呼び出さなければならない。Parameters:
Name Type Description params
Object MBaaS JavaScript SDK 初期化パラメータ
・params は、初期化パラメータをJSON 形式で指定する。 { "tenant" : "my-tenant-id", "appId" : "my-app-id", "appKey" : "my-app-key", "baseUri" : "http://baas.example.com/api", "offline" : false, "allowSelfSignedCert" : false, "serviceId" : "my-service-id", "debugMode" : "debug" } (プロパティ名) tenant : テナント毎に割り当てられるユニークなID(必須) appId : アプリケーション毎に割り当てられるユニークなID(必須) appKey : アプリケーション毎に割り当てられる秘密キー(必須) baseUri : MBaaS REST API のエンドポイントURL(必須) offline : オフライン機能の指定。(オプション) オフライン機能を利用する場合はtrue を指定する。(初期値:false) allowSelfSignedCert : 自己署名証明書の使用を認める指定。(オプション) オフラインモード使用時(SDE for SmartDevice使用時)、 及びNode.js使用時(Https Proxy未使用時)のみ有効。 (Node.jsでHttps Proxy使用時は、NebulaService#setHttpsProxy()を参照して設定を行うこと) SSL接続に自己署名証明書を使用しているMBaaSサーバを 利用する場合はtrue を指定する。(初期値:false) serviceId : NebulaService毎に割り当てられるユニークなID(オプション) マルチテナント機能を使用して複数のNebulaService(インスタンス)を生成する場合等に使用。 本IDはログイン情報キャッシュ時のKey情報に利用される。 debugMode : ログ出力レベル。(オプション) "release", "debug", "test" のいずれかを指定 debug は、コンソール上にデバッグログを出力する。 release は、クリティカルなエラー以外のコンソール上にデバッグログを出力しない。 test は、TBD。
Returns:
this
- Type
- NebulaService
-
isClientCertSet()
-
client証明書の設定が有効または無効を返す(Node.js使用時のみ有効)。
https Proxyを使用する場合、本設定は無効である。
Returns:
証明書設定済みならばtrue
- Type
- boolean
-
removeCurrentUser()
-
カレントユーザのログイン情報を破棄する
Returns:
this
- Type
- NebulaService
-
setAppKey(key)
-
アプリケーションキーを変更する
Parameters:
Name Type Description key
string アプリケーションキー
Returns:
this
- Type
- NebulaService
-
setClientCertificate(certInfo)
-
クライアント証明書の設定を行う (Node.js使用時のみ有効)。
https Proxyを使用する場合、本設定は無効である。NebulaService#setHttpsProxy()のoptionsに証明書の設定を行うこと。
Parameters:
Name Type Description certInfo
Object 証明書情報を指定する。 pfxとpassphrase(またはkeyとcert),ca を指定する。 pfxとcert/keyを同時に指定した場合の動作は保証しない。 nullを指定した場合は証明書の設定を解除する。
Returns:
this
- Type
- NebulaService
Example
// p12(pfx)形式のクライアント証明書(証明書/秘密鍵)を指定、p12ファイルのパスフレーズを指定 // 信頼するCA証明書として、2件を指定する場合 service.setClientCertificate({ pfx: fs.readFileSync('clientCertificate.p12'), passphrase: 'password', ca: [fs.readFileSync('caCert1.pem'), fs.readFileSync('caCert2.pem')] }); // pem形式のクライアント証明、キーを使用。CA証明書を1件指定 service.setClientCertificate({ cert: fs.readFileSync('clientCert.pem'), key: fs.readFileSync('clientKey.pem'), ca: fs.readFileSync('caCert1.pem') });
-
setCurrentUser(user)
-
カレントユーザのログイン情報をセットする。
ブラウザでは local storage に永続化され、NebulaService 間で共有される。 Node.js では NebulaService 内(メモリ)に個別に保持される。
Parameters:
Name Type Description user
User ユーザ
Returns:
this
- Type
- NebulaService
-
setHttpProxy(proxy)
-
HTTP プロキシを設定する (Node.js専用)。 'tunnel' モジュールが別途必要。
注: 本設定はグローバル設定である(NebulaService毎ではない)
Parameters:
Name Type Description proxy
Object プロキシ設定。host, port を指定する。
Example
// Example: Nebula.setHttpProxy({ host: 'proxysv.example.com', port: 8080});
-
setHttpsProxy(proxy, options)
-
HTTPS プロキシを設定する (Node.js専用)。 'tunnel' モジュールが別途必要。
注: 本設定はグローバル設定である(NebulaService毎ではない)
Parameters:
Name Type Description proxy
Object プロキシ設定。host, port を指定する。
options
Object https.request() に引き渡すオプション(省略可)。
クライアント証明書認証に使用する証明書の設定などを行う。 使用方法はExampleを参照のこと。
Example
// Example: // https Proxyを指定する Nebula.setHttpsProxy({ host: 'proxysv.example.com', port: 8080}); // p12(pfx)形式のクライアント証明書(証明書/秘密鍵)を指定、p12ファイルのパスフレーズを指定 // 信頼するCA証明書として、2件を指定する場合 Nebula.setHttpsProxy({ host: 'proxysv.example.com', port: 8080}, { pfx: fs.readFileSync('clientCertificate.p12'), passphrase: 'password', ca: [fs.readFileSync('caCert1.pem'), fs.readFileSync('caCert2.pem')] }); // pem形式のクライアント証明、キーを使用。CA証明書を1件指定 Nebula.setHttpsProxy({ host: 'proxysv.example.com', port: 8080}, { cert: fs.readFileSync('clientCert.pem'), key: fs.readFileSync('clientKey.pem'), ca: fs.readFileSync('caCert1.pem') }); // 自己署名証明書を使用しているサーバへの接続を許可する Nebula.setHttpsProxy({ host: 'proxysv.example.com', port: 8080}, { rejectUnauthorized: false });
-
setLoginCacheValidTime(expire, callbacks)
-
ログインキャッシュ有効期限の設定(オフライン機能限定)
・オフライン用ログインキャッシュ有効期限を設定する。
Parameters:
Name Type Description expire
number ログインキャッシュ有効期限(秒)
・expireには、ログインキャッシュ有効期限(秒)を指定する。 デフォルトは、「259200秒(72時間)」である。
callbacks
Callbacks 結果を受け取るコールバック
・callbacks は、成功時と失敗時の応答コールバックを指定する。 { success : function() { // 成功時の処理 }, error : function(error) { // 失敗時の処理 } } ・処理が成功した場合、success の呼び出しにて通知する。 success の書式は以下の通りとする。 success() ・処理が失敗した場合は、error の呼び出しにて通知する。 error の書式は以下の通りとする。 error(error) error : エラー要因がJSON 形式で返る。 { "status" : ステータスコード, "statusText" : エラーメッセージ, "responseText" : レスポンスメッセージ }
Returns:
Promise
- Type
- Promise.<any>
-
setNetworkEventListener(listener)
-
ネットワークイベントリスナの登録(オフライン機能限定)
・ネットワークの接続状態変更イベントを受け取るリスナーを設定する。
Parameters:
Name Type Description listener
Object ネットワークイベントリスナ
・listener には、イベント発生時のコールバックを指定する。 { onNetworkStateChanged : function(isOnline) { // ネットワークの接続状態が変更されたときに呼び出される // isOnline : trueはオンライン状態、falseはオフライン状態 } } ・すでに登録している場合は、上書きされる。 ・登録を取り消す場合は、listener に null を指定する。
Returns:
this
- Type
- NebulaService
-
setSessionToken(sessionToken)
-
セッショントークンをセットする。セッショントークンの有効期限は無期限扱い。
ユーザがログイン済みの場合は、セッショントークンのみが変更される。 未ログインの場合は、ダミーユーザが保存される (セッショントークン以外のフィールドは空)。
ブラウザでは local storage に永続化され、NebulaService 間で共有される。 Node.js では NebulaService 内(メモリ)に個別に保持される。
Parameters:
Name Type Description sessionToken
string セッショントークン
Returns:
this
- Type
- NebulaService