Skip to main content

概要

FIM One API は 2 つの認証方法をサポートしています:
  1. API キー — サービス間統合用のシンプルで長期有効なトークン
  2. JWT トークン — ユーザーログインからの短期有効なトークン (SSE エンドポイント用)
ほとんどの統合では API キー を使用する必要があります。

APIキー

APIキーはユーザーアカウントに紐付けられた長期間有効な認証情報です。以下の用途に最適です:
  • サーバー間統合
  • スケジュール済みスクリプトと自動化
  • FIM Oneにアクセスする外部アプリケーション

APIキーの作成

  1. FIM Oneポータルにログインします
  2. 設定 → APIキーに移動します
  3. APIキーを作成をクリックします
  4. 名前を入力します(例:「本番環境統合」)
  5. (オプション)スコープを設定してアクセスを制限します
  6. (オプション)有効期限を設定します
  7. 作成をクリックします
  8. キーをすぐにコピーしてください — 1回だけ表示されます
完全なキーは次のようになります:fim_your44characterkeystringherefim_プレフィックスで始まります)

APIキーの使用

AuthorizationヘッダーにBearer tokenとしてキーを含めます:
またはPythonの場合:

APIキーの機能

可視性: 各キーには以下が表示されます:
  • キープレフィックス (識別用の最初の8文字)
  • 作成日
  • 最後に使用されたタイムスタンプ
  • 総リクエスト数
  • アクティブステータス
  • 有効期限 (設定されている場合)
管理: 以下のことができます:
  • キーを削除せずに有効/無効にする
  • 自動有効期限を設定する
  • キーを完全に削除する
  • 使用パターンを追跡する

スコープ

スコープはAPIキーがアクセスできる内容を制限します。スコープが設定されていない場合、キーはフルアクセス権を持ちます。 利用可能なスコープ: スコープ付きのキーを作成:

JWTトークン

JWTトークンは短命で、ログイン時に発行されます。以下の用途に使用されます:
  • SSEストリーミングエンドポイント: /api/react/api/dagのリクエストボディにトークンを渡す
  • ポータルセッション: フロントエンド認証

JWTトークンの取得

JWTトークンはWebポータルを通じてログインするか、認証エンドポイントを呼び出すと自動的に発行されます:
レスポンス:

ストリーミング用のJWTの使用

SSEエンドポイントの場合、リクエストボディにトークンを含めます:
またはJavaScriptからfetchを使用して読み取り可能なストリーム(エンドポイントはPOSTのみであるため、GETのみをサポートするネイティブEventSourceは使用できません):

トークンリフレッシュ

アクセストークンは2時間後に期限切れになります。リフレッシュトークンを使用して、再度ログインせずに新しいアクセストークンを取得します:

セキュリティのベストプラクティス

APIキー

APIキーをバージョン管理にコミットしないでください。 これらはデータへの完全なアクセスを提供します。
  1. 環境変数に保存する:
    その後、コードで参照します:
  2. キーローテーションを使用する:
    • 新しいキーを作成する
    • アプリケーションを更新する
    • 古いキーを削除する
    • 四半期ごとに繰り返す
  3. 有効期限を設定する:
    • 一時的な統合には短期間のキーを使用する
    • 定期的に再認証を要求する
  4. スコープ付きキーを使用する:
    • 必要な場合を除き、「フルアクセス」キーを使用しない
    • 異なるサービス用に個別のキーを作成する
    • キーが侵害された場合のダメージを制限する
  5. 使用状況を監視する:
    • 「最後に使用された」タイムスタンプを確認する
    • リクエスト数を確認する
    • 未使用のキーを削除する

JWTトークン

  1. 短命に保つ: アクセストークンは2時間後に期限切れになります
  2. 安全な保存:
    • ブラウザ内: HttpOnlyクッキーを使用(localStorageより安全)
    • サーバー内: 安全なセッションストレージを使用
  3. ログに公開しない: トークンのプレフィックスのみをログに記録し、完全なトークンは記録しないでください
  4. HTTPSのみを使用: 暗号化されていない接続でトークンを送信しないでください

レート制限

キーごとのレート制限は将来のリリースで予定されています。現在のところ、キーごとのリクエスト制限は実施されていません。

トラブルシューティング

無効なトークンエラー

原因:
  • APIキープレフィックスが間違っている(fim_で始まる必要があります)
  • JWTトークンの有効期限が切れている(更新してください)
  • トークンが不正な形式または破損している
  • APIキーが削除されている
解決策: トークン形式を確認し、必要に応じて再生成してください

認可されていないエラー

原因:
  • Authorization ヘッダーが提供されていない
  • リクエストボディにトークンがない(SSE エンドポイントの場合)
  • API キーが無効になっている
解決策: すべてのリクエストに有効なトークンを含める

Forbidden エラー

原因:
  • API キーがスコープ付きアクセスを持っており、必要なスコープが不足している
  • ユーザーアカウントが制限されたアクセス権限を持っている
解決策: 適切なスコープを持つキーを使用するか、キーの権限を増やしてください

有効期限切れのトークン

解決策: リフレッシュトークンを使用して新しいアクセストークンを取得します:

環境変数のセットアップ

Python

Node.js

Bash

サポート

認証の問題については:
  • レスポンス形式の詳細についてはAPI概要を確認してください
  • GET /api/auth/verifyでトークンの有効期限を確認してください
  • キーが侵害されたと思われる場合はサポートにお問い合わせください