da-auth について
DA Admin API の呼び出しに使う Adobe IMS アクセストークンを取得・検証するスキルです。キャッシュを先に確認し、ヘルパー CLI によるブラウザーログイン、DA MCP サーバー、または手動入力で認証できます。
主な機能
- 01キャッシュ済みトークンの有効性確認
- 02ブラウザーログインによるトークン取得
- 03DA MCP による認証
- 04DA API を使ったトークン検証
活用シーン
- 01DA コンテンツのプッシュ前に認証
- 02DA リポジトリ内のドキュメント一覧取得
- 03DA コンテンツプレビューの開始
MCP 対応
DA MCP サーバーが有効な場合、このスキルはその認証ツールで OAuth を開始し、トークンを取得するよう案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ adobe/ skills --skill da-authインストール後、Claude Code で/da-authを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.releaserc.jsonCHANGELOG.mdpackage.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 アクセストークンが必要です。ブラウザーから次の手順でコピーできます。
- da.live を開いてログインします
- DevTools → Network タブを開き、
admin.da.liveへのリクエストを探しますAuthorization: Bearer <token>の値をコピーします(Bearerのプレフィックスは除きます)- ここに貼り付けます
ステップ 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 権限をユーザーに確認してもらってください |
リファレンス
- DA Auth Helper:https://github.com/adobe-rnd/da-auth-helper
- DA Admin API:https://opensource.adobe.com/da-admin/
- トークンのキャッシュ場所:
~/.aem/da-token.json