3. ライブラリの初期化

SDK の利用を行う前に、SDKの初期化処理を行います。

3.1. ブラウザ利用時

$(function() {
    var NebulaConfig = {
        "tenant": "53c379dc4b54a455b6777730",
        "appId": "53c379fa4b54a455b6777734",
        "appKey": "ZmoFlxp3Klr11GZbyV11UsroMsAgMWyxncEHKuLJ",
        "baseUri": "https://api.example.com/api",
        "offline" : false,
        "debugMode": "release"
    };

    Nebula.initialize(NebulaConfig);
});

初期化には Nebula.initialize() を使用します。 この API は、Nebula の各機能を呼び出す前に必ず最初に1度だけ実施する必要があります。

Nebula.initialize() には、設定情報を引き渡します。 以下の情報を指定する必要があります。

  • tenant: テナントID
  • appId: アプリケーションID
  • appKey: アプリケーションキー
  • baseUri: APIサーバのベースURI
    • パスの '/api' まで含むため注意してください
  • offline: オフラインモード。
    • "false" を設定してください。
  • debugMode: デバッグモード。
    • 通常時は "release"、デバッグ時は "debug" に設定してください。
    • "debug" に設定すると、デバッグログが JavaScript コンソールに出力されます。

マルチテナント機能を使用する場合の初期化手順については、 マルチテナント を参照してください。

3.2. Node.js 利用時

const Nebula = require('@nec-baas/jssdk').Nebula;

const NebulaConfig = {
    "tenant": "53c379dc4b54a455b6777730",
    "appId": "53c379fa4b54a455b6777734",
    "appKey": "ZmoFlxp3Klr11GZbyV11UsroMsAgMWyxncEHKuLJ",
    "baseUri": "https://api.example.com/api",
    "offline" : false,
    "debugMode": "release"
};

Nebula.initialize(NebulaConfig);

@nec-baas/jssdk モジュールを require でロードして 'Nebula' に代入してください。

その後、initialize() を呼び出して初期化します。この API は NEC BaaS サーバの各機能を呼び出す前に必ず最初に一度だけ実施する必要があります。

設定情報の内容はブラウザを使用する場合と同じです。

マルチテナント機能を使用する場合の初期化手順については、 マルチテナント を参照してください。

3.2.1. プロキシを使用する場合の設定

Node.js でプロキシサーバを使用する場合は、Nebula の初期化前に以下の処理を実行してください。

// HTTPS の場合
Nebula.setHttpsProxy({host: プロキシサーバホスト名, port: ポート番号});
// HTTP の場合
Nebula.setHttpProxy({host: プロキシサーバホスト名, port: ポート番号});

3.3. TypeScript を使用する場合

JavaScript ではなく TypeScript を使用する場合は、以下のようにして Nebula モジュールを import してください。

import { Nebula } from "nebula";

初期化手順は前述の通り(Nebula.initialize())です。

3.4. 自己署名証明書を使用する場合の設定

警告

本設定は、セキュリティリスクが高くなるため実運用時の利用は推奨できません。 正規の証明書を使用するようにしてください。

サーバ側で HTTPS 自己署名証明書を使用している場合、SSL証明書の検証でエラーとなります。 これをスキップする方法を説明します。

3.4.1. ブラウザの場合

ブラウザ使用時は、ブラウザ側に証明書をインポートする必要があります。

3.4.2. Node.js の場合

環境変数 NODE_TLS_REJECT_UNAUTHORIZED に 0 を設定して起動することで、 証明書の検証を回避できます。

プロキシ未使用時は、NebulaConfigの“allowSelfSignedCertificate” をtrue に設定することでも証明書検証を回避することができます。

以下のように初期化パラメータで "allowSelfSignedCertificate" をtrue に設定してください。

var NebulaConfig = {
    "tenant": "53c379dc4b54a455b6777730",
    "appId": "53c379fa4b54a455b6777734",
    "appKey": "ZmoFlxp3Klr11GZbyV11UsroMsAgMWyxncEHKuLJ",
    "baseUri": "https://api.example.com/api",
    "offline" : false,
    "debugMode": "release",
    "allowSelfSignedCert": true  // この行を追加
};

Nebula.initialize(NebulaConfig);

プロキシ使用時は、Nebula.setHttpsProxy()のoptionとして、{ rejectUnauthorized: false }を設定します。

Nebula.setHttpsProxy({host: 'proxysv.example.com', port: 8080}, {rejectUnauthorized: false});