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であれば動くかも知れませんが未検証です。
まとめ
認証データが使えるようになれば、管理者としてデータを取得したりするのにも使えます。アプリ運用で活用してください。