OAuth アイデンティティプロバイダを使用したデータベースセッションへのログイン

OAuth アイデンティティプロバイダを使用して共有データベースにログインするには、HTTP POST メソッドを使用してデータベースを sessions API エンドポイントで指定します。ヘッダの X-FM-Data-OAuth-Request-Id 文字列および X-FM-Data-OAuth-Identifier 文字列を使用して共有データベースへのアクセスを認証します。認証されると、コードはデータベースへの接続を定義するアクセストークンを受け取ります。この接続は「データベースセッション」と呼ばれます。

HTTP メソッド

POST

URL

/fmi/data/version/databases/database-name/sessions

version – リクエストされた FileMaker Data API のバージョン。v1v2、または vLatest のいずれかを使用できます。

database-name – 共有データベースの名前

HTTP ヘッダ

Content-Type: application/json

X-FM-Data-OAuth-Request-Id: リクエスト ID

X-FM-Data-OAuth-Identifier: 識別子引数

引数 空の中カッコ。例: { } オプションで fmDataSource 引数を使用して外部データソースにログインすることもできます。「外部データソースへのログイン」を参照してください。
応答

アクセストークン、空の応答のボディ、およびエラーコード 0 を表示するメッセージ配列。

応答で X-FM-Data-Access-Token ヘッダが返されます。これは以降の API 呼び出しで使用するセッショントークンです。

例:

コピー
X-FM-Data-Access-Token: 823c0f48bb80f2187bde6f3859dabd4dcf8ea43be420dfeadf34
{
    "response": {},
    "messages":[{"code":"0","message":"OK"}]
}

エラー応答」を参照してください。

OAuth 引数を JSON 形式で取得するには:

  1. 次の URL と HTTP GET メソッドを使用することにより、サポートされている OAuth プロバイダの一覧を取得します:

    https://<ホスト>/fmws/oauthproviderinfo

    <ホスト> は FileMaker Server 展開内のプライマリマシンの IP アドレスまたはドメイン名です。一覧が JSON 形式で返されます。

  2. サポートされている OAuth プロバイダを選択します。

  3. セッションの追跡 ID を取得します。次の URL と HTTP GET メソッドを使用します:

    http://<ホスト>/oauth/getoauthurl?trackingID=tracking-ID&provider=OAuth-provider&address=127.0.0.1&X-FMS-OAuth-AuthType=2

    <ホスト> は FileMaker Server 展開内のプライマリマシンの IP アドレスまたはドメイン名、tracking-ID は開発者がセッション用に生成した追跡 ID、OAuth-provider は選択した OAuth プロバイダの名前です。

    このリクエストの HTTP ヘッダには次の情報を含める必要があります:

    • X-FMS-Application-Type: 9

    • X-FMS-Application-Version: 15

    • X-FMS-Return-URL: http://127.0.0.1/

  4. X-FMS-Request-ID データの応答ヘッダを読み取ります。この応答ヘッダにはヘッダの X-FM-Data-OAuth-Request-ID 文字列に使用する OAuth リクエスト ID が含まれています。

  5. X-FMS-Return-URL データの応答ヘッダを読み取ります。この引数で返された URL を呼び出すことによって、ユーザが OAuth プロバイダから認証を受けられるようになります。

  6. OAuth プロバイダから返される「識別子」はヘッダの X-FM-Data-OAuth-Identifier 文字列に使用する OAuth 識別子の引数です。

FileMaker Pro ヘルプの「OAuth アカウントアクセスの編集」を参照してください。