ニフクラmBaaSお役立ちブログ

スマホアプリ開発にニフクラmBaaS。アプリ開発に役立つ情報をおとどけ!

クライアントキーの隠蔽に。署名サーバをHeroku buttonに対応させました

ニフティクラウド mobile backendではアプリケーションキーとクライアントキーの2つを使って署名を行います。JavaScript SDKではソース中にアプリケーションキーおよびクライアントキーを記述するためにセキュリティ上の懸念をしている方も多いかと思います(PhoneGap/Cordova/Monacaアプリなどで利用する場合)。

そこで以前サーバサイドで署名処理だけを行う方法をご紹介しましたが、今回はさらに手軽にするためにHeroku buttonに対応させました。これであればもっと手軽にJavaScript SDKがご利用いただけます。

アプリ登録

まず最初にニフティクラウド mobile backend上でアプリを作成します。

管理画面にログインして、アプリを登録するだけです。

終わるとアプリケーションキー、クライアントキーが生成されますので、クライアントキーをコピーします。

Herokuへデプロイ

次に ncmb-server のGitHubリポジトリに移動します。README.md の中に Deploy to Heroku がありますのでクリックします。

クライアントキーの入力が求められますので、先ほどコピーしたクライアントキーを入力します。

終わったら Deploy for Free をクリックします。これで少し待つと署名サーバが立ち上がります。

使い方

立ち上がったHerokuアプリが https://app.herokuapp.com/ だとした場合、

<script>
var HEROKU_URL = "https://app.herokuapp.com/";
</script>
<script src="https://app.herokuapp.com/ncmb.js"></script>

のようにHTMLファイル中に記述してください。後は通常のJavaScript SDKと同じように、

NCMB.initialize("アプリケーションキー");

で初期化します。なお、この時クライアントキーは不要です。

データストアからデータを取り出す場合は、

query = new NCMB.Query("HelloClass");
query.find({
  success: function(data) {
    // 成功時の処理
  },
  error: function(data) {
    // 失敗時の処理
  }
});

のようにしてデータが取得できます。


HTMLファイルはlocalhostでも、Dropboxでも配置して使えます。サーバを越えてポストできますので、静的なHTMLだけでデータ保存に対応したWebアプリケーションが開発できるようになります。

Heroku buttonを使えばとても簡単に、かつ無料でサーバが立てられますのですぐに安全にWebアプリケーションが公開できるようになるでしょう。ぜひお試しください!

ニフティクラウドmobile backend mbaas ご紹介 概要資料