FileMaker 18 AdminAPI 【認証編】
2019年06月21日 10:00 AM
FileMaker 18
前回環境の準備をおこないました。↓
FileMaker 18 AdminAPI 【Postmanインストール編】
今回はAdmin APIを利用して認証をおこなうところを
やっていきたいと思います。
事前準備がまだの方は前回(こちら)を参照いただき
環境変数の設定をお願いいたします。
◇ドキュメントについて
実際の利用はリファレンスを参照しながらおこなっていきます。
以下のパスから適宜参照しながら進めていきます。
FileMaker Admin API リファレンス
https://<FileMaker Server のアドレス>/fmi/admin/apidoc/
簡単に認証におこなうリファレンスをみてみましょう。
必須項目 : Authorization
メソッド : POST
API Path : /user/auth
ということがわかります。
ちなみにPathの部分をクリックすると正しいURLが確認でき便利です。
◇認証
さっそく設定をおこなっていきましょう。
先ほどのリファレンスの通りに以下のように設定をおこないます。
メソッド:POST
URL :{{serverurl}}/fmi/admin/api/v2/user/auth
この時URLには前回設定した環境変数を利用します。
使い方は {{serverurl}} と波括弧2つで囲って使用します。
次にAdmin APIで接続するための認証設定をおこないます。
通常であればbase64でID:Passをエンコードする必要がありますが
さすがPostman。ここも便利機能があります。
Authorizationを開き以下のように設定
TYPE : Basic Auth
Username : Admin ConsoleへのログインID
Password : Admin Consoleへのログインパスワード
これで設定は完了です。
このとき「Preview Request」をクリックすることにより
実際に必要なHeaderを確認することができます。
「Preview Request」をクリックし「Headers」タブをクリック。
「Temporary Headers」を開くと必要な「Authorization」が表示されています。
Basic **** となっているところがPostmanが勝手にエンコードしてくれている部分です。
補足でした。
それでは「Send」をクリックしてアクセストークンを取得しましょう。
このときJSONで「token」が返ってきます。
今後はこのトークンを利用してAdmin APIの操作をおこないます。
◇Postman環境設定
このままだとトークンを操作のたびにコピペしなくてはいけないので不便です。
快適に使えるよう追加で設定をおこないます。
Testsタブを開き以下のように入力します。
var jsonData = JSON.parse(responseBody);
pm.test(“Status code is 200”, function () {
postman.setEnvironmentVariable(“token”, jsonData.response.token);
});
こうすることにより環境変数tokenに自動で取得したトークンの
値が設定されます。
◇保存
今設定した内容を保存します。
画面左側「+New Collection」をクリックします。
Name欄に任意の名前を設定し「Create」をクリックします。
画面右側「Save」をクリックします。
任意のRequest Nameを設定し、保存するCollectionを選択します。
「Save」がクリックできるようになるので保存します。
これで今設定した操作は画面左側よりいつでも呼び出せます。
◇Admin APIの仕様
・最大セッション数は5
それ以上の接続は code:956 “Maximum number of Admin API sessions exceeded”
というエラーが返ってきます。
・セッションアイムアウトは15分
そういった状態になった場合は15分待つ必要があります。
あまり複数セッションはるようなことはないかと思いますが
覚えておくとよさそうです。
◇tokenの無効化
というわけで、アクセストークンを取得したら
トークンを無効化してセッションを終了させましょう。
以下のように設定します。
メソッド:DELETE
URL :{{serverurl}}/fmi/admin/api/v2/user/auth/{{token}}
トークンが有効な状態で「send」ボタンをクリックすると正常に処理が終了します。
先ほどと同様に保存しておくとよいかと思います。
だいぶ長くなってしまいました。
最後までお読みいただきありがとうございます。
次回はデータベースの操作をおこなってみたいと思います。
次回「FileMaker 18 AdminAPI 【Databases編】」はこちら→