メインコンテンツまでスキップ

API トークン(API Tokens)

Page summary:

API トークンを使うと、ユーザー資格情報を露出せずに REST / GraphQL リクエストをスコープ付きで認証できます。このページでは、トークン種別、作成、期限、管理パネルでの安全な運用を説明します。

API トークンは、REST と GraphQL の API クエリ認証に使えます(API の概要 を参照)。

Security

公開用途では読み取り専用トークンを優先し、サーバー向けトークンは必要最小限の権限に絞ってください。長寿命トークンは定期ローテーションし、シークレットマネージャーで保管します。管理者用トークンをクライアント側コードに埋め込まないでください。

IDENTITY CARD
プラン

無料で利用可能

ロールと権限

Roles > Settings - API tokens の "Access the API tokens settings page" 以上

有効化

既定で利用可能

環境

開発環境・本番環境の両方で利用可能

API トークンAPI トークン

設定

API トークンの設定の多くは管理パネルで行えます。Strapi プロジェクトのコードを使って生成方式を調整することもできます。

管理パネルでの設定

設定の場所: Settings > Global settings > API Tokens

API Tokens 画面には作成済み API トークンの一覧表が表示されます。各トークンの名前、説明、作成日、最終使用日を確認できます。

この画面から次が可能です。

  • で名前・説明・種別・有効期間を編集し、必要なら トークンを再生成 する
  • で API トークンを削除する
Note

Strapi は初期状態で Full accessRead-only の 2 つの API トークンを生成します。暗号化キー未設定ではトークン値は 1 回しか表示されないため、暗号化キー設定後に 再生成 して常時表示可能にする運用が有効です。

新しい API トークンを作成する

  1. Create new API Token をクリックします。
  2. API トークン編集画面で新しいトークンを設定します。
    設定名手順
    NameAPI トークン名を入力します。
    Description(任意)API トークンの説明を入力します。
    Token duration有効期間を選びます: 7 days30 days90 daysUnlimited
    Token type種別を選びます: Read-onlyFull accessCustom
  3. (任意)Custom を選ぶ場合は、コンテンツタイプ名をクリックし、チェックボックスで API エンドポイントごとの権限を設定します。
  4. Save をクリックします。新しい API トークンが画面上部に表示され、コピー が使えます。
カスタム API トークンカスタム API トークン
トークンの再表示

プロジェクトに暗号化キー(admin.secrets.encryptionKey)を設定していると、新規作成・再生成した API トークンを管理パネルで いつでも表示 できます。

暗号化キーが未設定だと、トークンは作成直後または再生成直後の 1 回のみ 表示されます。

API トークンを再生成する

  1. 対象 API トークンの編集を開きます。
  2. Regenerate をクリックします。
  3. ダイアログで Regenerate をクリックして確定します。
  4. 画面上部に表示された新しい API トークンをコピーします。

コードベースの設定

新規 API トークンは salt を使って生成されます。salt は Strapi が自動生成し、環境変数(.env)の API_TOKEN_SALT として保存します。

salt は次の方法でカスタマイズできます。

Caution

salt を変更すると、既存の API トークンはすべて無効になります。

管理パネルで API トークンを常時表示する

管理パネルで API トークンを継続表示するには、 /config/admin secrets.encryptionKey に暗号化キーを設定します。

/config/admin.js
module.exports = ({ env }) => ({
// other config parameters
secrets: {
encryptionKey: env('ENCRYPTION_KEY'),
}
});

このキーはトークン値の暗号化・復号に使います。キーがなくてもトークンは利用できますが、初回表示後は再表示できません。新規 Strapi プロジェクトではこのキーが自動生成されます。

使い方

API トークンを使うと、REST APIGraphQL API のエンドポイントへ、認証済みユーザーとしてリクエストできます。

ユーザーアカウントを管理したり Users & Permissions プラグイン設定を変えたりせずに、人やアプリへアクセスを渡したいときに有効です。

Strapi の REST API へリクエストするときは、Authorization ヘッダーに bearer your-api-token 形式で API トークンを設定します。

Note

Read-only の API トークンで実行できるのは findfindOne のみです。