mcpField
D
da-auth

da-auth

github.com/adobeセキュリティ3161.0k 回インストール今日更新
リポジトリ

da-auth について

DA Admin API の呼び出しに使う Adobe IMS アクセストークンを取得・検証するスキルです。キャッシュを先に確認し、ヘルパー CLI によるブラウザーログイン、DA MCP サーバー、または手動入力で認証できます。

主な機能

  1. 01キャッシュ済みトークンの有効性確認
  2. 02ブラウザーログインによるトークン取得
  3. 03DA MCP による認証
  4. 04DA API を使ったトークン検証

活用シーン

  1. 01DA コンテンツのプッシュ前に認証
  2. 02DA リポジトリ内のドキュメント一覧取得
  3. 03DA コンテンツプレビューの開始

MCP 対応

DA MCP サーバーが有効な場合、このスキルはその認証ツールで OAuth を開始し、トークンを取得するよう案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/adobe/skills --skill da-auth

インストール後、Claude Code で/da-authを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.releaserc.json
CHANGELOG.md
package.json

詳細

DA 認証

有効な Adobe IMS アクセストークンを取得し、以降の admin.da.live API 呼び出しで使用できるように DA_TOKEN に保存します。

このスキルを使用するタイミング

DA Admin API(admin.da.live)を呼び出す必要があり、有効なトークンをまだスコープ内に持っていない場合は、このスキルを使用してください。よくあるケース:

  • DA 内のページコンテンツをプッシュまたは更新する
  • DA リポジトリ内のドキュメントを一覧表示する
  • DA コンテンツのプレビューを開始する

次の場合は、このスキルを使用しないでください:

  • 同じセッション内ですでに DA_TOKEN を取得しており、期限が切れていない場合(トークンの有効期間は約1時間で、60秒のバッファーがあります)
  • create-site スキルが独自のフローの一部としてすでに認証を処理している場合
  • セッションで DA MCP サーバーが有効な場合 — 代わりにその認証ツールを直接使用してください

前提条件

  • Node.js 18+ がインストールされていること
  • マシンからアクセスできるブラウザーがあること(OAuth フロー用)
  • ims-na1.adobelogin.com へのネットワークアクセスがあること

関連スキル

  • create-site — 新しいサイトのオンボーディングで独自の DA 認証手順を含みます。このフロー内で da-auth を別途呼び出さないでください
  • content-driven-development — 作成したコンテンツを DA にプッシュする前に da-auth を使用してください
  • building-blocks — ブロック開発用のテストコンテンツを DA にプッシュする必要がある場合は da-auth を使用してください
  • snowflake — フェーズ 5(ラウンドトリップ)の前に da-auth を呼び出し、snowflake が変換したページを DA に PUT する際に $DA_TOKEN が設定されているようにしてください
  • da-content — $DA_TOKEN を取得した後の使い方(Source API、プレビュー/公開)のリファレンスです

ステップ 1:キャッシュ済みトークンを確認する

ブラウザーログインを開始する前に、有効なトークンがすでにキャッシュされているか確認してください。

DA_TOKEN=$(node -e "
  const fs = require('fs');
  const p = process.env.HOME + '/.aem/da-token.json';
  try {
    const t = JSON.parse(fs.readFileSync(p, 'utf8'));
    if (t.expires_at > Date.now() + 60000) process.stdout.write(t.access_token);
  } catch {}
")

DA_TOKEN が空でない場合は、ステップ 3 に進んでください。

ステップ 2:トークンを取得する (ログインが必要です)

環境に適した方法を選択してください。

方法 A(推奨)— da-auth-helper CLI:

da-auth-helper ツールは、IMS OAuth 2.0 のインプリシットフロー全体を処理し、トークンを ~/.aem/da-token.json にキャッシュして、トークンを標準出力に出力します。

# Run directly without a global install
DA_TOKEN=$(npx github:adobe-rnd/da-auth-helper token)

npx が利用できない、または動作が遅い場合は、先にグローバルインストールしてください。

npm install -g github:adobe-rnd/da-auth-helper
DA_TOKEN=$(da-auth-helper token)

ブラウザーウィンドウが開きます。ユーザーに次のように案内してください。

開いたブラウザーウィンドウで Adobe IMS にログインしてください。ログインすると、トークンが自動的に取得されます。

成功時:DA_TOKEN は eyJ で始まる空ではない JWT 文字列です。

方法 B — DA MCP サーバー:

セッションで DA MCP サーバーが設定されている場合は、その認証ツールを使用して OAuth フローを開始し、応答からトークンを取得してください。

方法 C — 手動貼り付け (最終手段):

DA にコンテンツをプッシュするには Adobe IMS アクセストークンが必要です。ブラウザーから次の手順でコピーできます。

  1. da.live を開いてログインします
  2. DevTools → Network タブを開き、admin.da.live へのリクエストを探します
  3. Authorization: Bearer <token> の値をコピーします(Bearer のプレフィックスは除きます)
  4. ここに貼り付けます

ステップ 3:トークンが機能することを確認する

続行する前に、DA API がトークンを受け入れることを確認してください。

curl -s -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer {{DA_TOKEN}}" \
  "https://admin.da.live/list/{{ORG}}/{{REPO}}"

成功時:HTTP 200。トークンは有効です — 呼び出し元のスキルで使用できるよう DA_TOKEN の準備が整いました。

トラブルシューティング

症状考えられる原因対処方法
ステップ 1 の後も DA_TOKEN が空キャッシュ済みトークンがないか、トークンの期限が切れていますステップ 2 に進んでください
ブラウザーウィンドウが開かないnpx/da-auth-helper がブロックされているか、ヘッドレス環境です方法 B(MCP)または方法 C(手動貼り付け)を使用してください
npx github:adobe-rnd/da-auth-helper が失敗するGitHub パッケージレジストリへのネットワーク制限があります方法 B(DA MCP サーバー)または方法 C(トークンの手動貼り付け)を使用してください
ステップ 3 が 401 を返すステップ間にトークンの期限が切れましたステップ 2 を再実行して更新してください
ステップ 3 が 403 を返す認証済みユーザーに {{ORG}}/{{REPO}} へのアクセス権がありません対象の組織/リポジトリに対する DA 権限をユーザーに確認してもらってください

リファレンス

コメント