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編】」はこちら→