概要
FIM One API は 2 つの認証方法をサポートしています:- API キー — サービス間統合用のシンプルで長期有効なトークン
- JWT トークン — ユーザーログインからの短期有効なトークン (SSE エンドポイント用)
APIキー
APIキーはユーザーアカウントに紐付けられた長期間有効な認証情報です。以下の用途に最適です:- サーバー間統合
- スケジュール済みスクリプトと自動化
- FIM Oneにアクセスする外部アプリケーション
APIキーの作成
- FIM Oneポータルにログインします
- 設定 → APIキーに移動します
- APIキーを作成をクリックします
- 名前を入力します(例:「本番環境統合」)
- (オプション)スコープを設定してアクセスを制限します
- (オプション)有効期限を設定します
- 作成をクリックします
- キーをすぐにコピーしてください — 1回だけ表示されます
fim_your44characterkeystringhere(fim_プレフィックスで始まります)
APIキーの使用
AuthorizationヘッダーにBearer tokenとしてキーを含めます:
APIキーの機能
可視性: 各キーには以下が表示されます:- キープレフィックス (識別用の最初の8文字)
- 作成日
- 最後に使用されたタイムスタンプ
- 総リクエスト数
- アクティブステータス
- 有効期限 (設定されている場合)
- キーを削除せずに有効/無効にする
- 自動有効期限を設定する
- キーを完全に削除する
- 使用パターンを追跡する
スコープ
スコープはAPIキーがアクセスできる内容を制限します。スコープが設定されていない場合、キーはフルアクセス権を持ちます。 利用可能なスコープ:
スコープ付きのキーを作成:
JWTトークン
JWTトークンは短命で、ログイン時に発行されます。以下の用途に使用されます:- SSEストリーミングエンドポイント:
/api/reactと/api/dagのリクエストボディにトークンを渡す - ポータルセッション: フロントエンド認証
JWTトークンの取得
JWTトークンはWebポータルを通じてログインするか、認証エンドポイントを呼び出すと自動的に発行されます:ストリーミング用のJWTの使用
SSEエンドポイントの場合、リクエストボディにトークンを含めます:fetchを使用して読み取り可能なストリーム(エンドポイントはPOSTのみであるため、GETのみをサポートするネイティブEventSourceは使用できません):
トークンリフレッシュ
アクセストークンは2時間後に期限切れになります。リフレッシュトークンを使用して、再度ログインせずに新しいアクセストークンを取得します:セキュリティのベストプラクティス
APIキー
-
環境変数に保存する:
その後、コードで参照します:
-
キーローテーションを使用する:
- 新しいキーを作成する
- アプリケーションを更新する
- 古いキーを削除する
- 四半期ごとに繰り返す
-
有効期限を設定する:
- 一時的な統合には短期間のキーを使用する
- 定期的に再認証を要求する
-
スコープ付きキーを使用する:
- 必要な場合を除き、「フルアクセス」キーを使用しない
- 異なるサービス用に個別のキーを作成する
- キーが侵害された場合のダメージを制限する
-
使用状況を監視する:
- 「最後に使用された」タイムスタンプを確認する
- リクエスト数を確認する
- 未使用のキーを削除する
JWTトークン
- 短命に保つ: アクセストークンは2時間後に期限切れになります
- 安全な保存:
- ブラウザ内: HttpOnlyクッキーを使用(localStorageより安全)
- サーバー内: 安全なセッションストレージを使用
- ログに公開しない: トークンのプレフィックスのみをログに記録し、完全なトークンは記録しないでください
- HTTPSのみを使用: 暗号化されていない接続でトークンを送信しないでください
レート制限
キーごとのレート制限は将来のリリースで予定されています。現在のところ、キーごとのリクエスト制限は実施されていません。トラブルシューティング
無効なトークンエラー
- APIキープレフィックスが間違っている(
fim_で始まる必要があります) - JWTトークンの有効期限が切れている(更新してください)
- トークンが不正な形式または破損している
- APIキーが削除されている
認可されていないエラー
- Authorization ヘッダーが提供されていない
- リクエストボディにトークンがない(SSE エンドポイントの場合)
- API キーが無効になっている
Forbidden エラー
- API キーがスコープ付きアクセスを持っており、必要なスコープが不足している
- ユーザーアカウントが制限されたアクセス権限を持っている
有効期限切れのトークン
環境変数のセットアップ
Python
Node.js
Bash
サポート
認証の問題については:- レスポンス形式の詳細についてはAPI概要を確認してください
GET /api/auth/verifyでトークンの有効期限を確認してください- キーが侵害されたと思われる場合はサポートにお問い合わせください