ニフクラ mobile backend(mBaaS)お役立ちブログ

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

CLIでNCMBを操作するncmb.shが認証に対応しました

f:id:mbaasdevrel:20190918162906p:plain

CLIで手軽にmBaaSにアクセスできるようにするBashスクリプトncmb.shをバージョンアップして、認証が扱えるようになりました。ACLで管理されたデータを扱う際に利用できます。

NCMBMania/ncmb-sh: CLIで使えるNCMB用のコマンドです

その使い方を紹介します。

認証を行う

まず認証します。 --auth を付けるとユーザ名、パスワードをインタラクティブに入力します。

$ ./ncmb.sh --auth
USER NAME:test
PASSWORD:

認証が通るとJSONが返ってきます。

{
  "objectId": "zDUP77MjJTgset3K",
  "userName": "test",
  "mailAddress": null,
  "mailAddressConfirm": null,
  "sessionToken": "rIlPTTpFPFEebF6mmey2uvLAd",
  "createDate": "2019-09-26T08:34:29.801Z",
  "updateDate": "2019-09-26T08:34:30.044Z",
  "authData": null
}

この中の sessionToken の値が認証に用いるキーになります。

セッショントークンを付けて実行する

そしてセッショントークンを使う場合には --session で指定してください。

$ ./ncmb.sh -p Test -m GET --session rIlPTTpFPFEebF6mmey2uvLAd

セッションが間違っているとエラーになります。

$ ./ncmb.sh -p Test -m GET --session rIlPTTpFPFEebF6mmey2uvLAd2
{"code":"E401001","error":"Authentication error by header incorrect."}

.envに対応しました

アプリケーションキーやクライアントキーを毎回指定するのは面倒なので、.env に対応しました。実行ディレクトリに .env ファイルがあると、それを読み込みます。内容は次のようになります。

APPILICATION_KEY=aaa
CLIENT_KEY=bbb
SESSION=ccc

定義されていないものは無視されますので、これまで通りコマンドラインのオプションで指定してください。

jqとの組み合わせ

jqと組み合わせることで出力結果を見やすく整形できます。

注意点

Linux系の各種コマンドを使っていますのでWindowsでは動きません。WSLであれば動くかも知れませんが未検証です。

まとめ

認証データが使えるようになれば、管理者としてデータを取得したりするのにも使えます。アプリ運用で活用してください。

NCMBMania/ncmb-sh: CLIで使えるNCMB用のコマンドです

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。