К основному содержанию
скилл CX Codex

da-auth — скилл для Claude Code: токен Adobe IMS для DA API

Достаёт токен Adobe IMS и кладёт его в DA_TOKEN, чтобы агент мог вызывать admin.da.live без ручной возни.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add adobe/skills --skill da-auth -a claude-code
Открыть на GitHub

Что делает da-auth

Скилл нужен перед тем, как агент трогает API Document Authoring: залить HTML-страницу, получить список документов в репозитории, запустить превью. Сначала он проверяет кэш в ~/.aem/da-token.json — если токен ещё жив, браузер не открывается. Токены действуют около часа с буфером в 60 секунд, так что в одной сессии повторный логин обычно не требуется.

Если кэша нет, скилл запускает OAuth 2.0 implicit flow через da-auth-helper: npx github:adobe-rnd/da-auth-helper token открывает окно браузера, вы логинитесь в Adobe IMS, токен печатается в stdout. Дальше идёт проверка — запрос к admin.da.live/list/{{ORG}}/{{REPO}} должен вернуть HTTP 200. Только после этого DA_TOKEN считается готовым.

Для работы нужен Node.js 18+, браузер на той же машине и сетевой доступ к ims-na1.adobelogin.com. В headless-окружении окно не откроется — это повод заранее выбрать запасной путь: инструмент аутентификации DA MCP-сервера или ручную вставку токена из DevTools. Если проверка вернула 403, дело не в токене, а в правах пользователя на конкретные {{ORG}}/{{REPO}}.

Внутри флоу create-site этот скилл отдельно вызывать не надо — там аутентификация уже встроена.

Какие задачи решает

  • получить токен Adobe IMS для вызовов admin.da.live
  • залить HTML-контент в DA без ручного копирования токена
  • вывести список документов в репозитории DA
  • запустить превью страницы через DA API
  • переиспользовать закэшированный токен вместо повторного логина

Примеры запросов агенту

  • Получи токен для DA и залей эту страницу в репозиторий
  • Нужен DA_TOKEN, чтобы вывести список документов в DA
  • Обнови токен и запусти превью страницы

Как установить da-auth

1Через Skills CLI (Vercel)

npx skills add adobe/skills --skill da-auth -a claude-code

2Вручную: положить файлы

~/.claude/skills/da-auth/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/da-auth/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора46

code-review Скилл проверяет код проектов AEM Edge Delivery Services на соответствие стандартам Adobe перед коммитом или в процессе ревью пулл-реквеста. CX Codex +1 1 600установок ue-component-model Скилл настраивает блоки AEM Edge Delivery Services для Universal Editor. Он изучает JS и CSS компонента, после чего создаёт или правит файлы JSON-конфигурации. CX Codex +1 1 500установок create-site Разворачивает сайт AEM Edge Delivery с нуля: репозиторий из шаблона, подключение aem-code-sync, стартовые страницы и ссылка на превью. CX Codex +1 1 500установок ensure-agents-md Создаёт AGENTS.md и CLAUDE.md в корне AEM 6.5 LTS-проекта, если их ещё нет. Настраивает инструкции по pom.xml и структуре модулей. CX Codex +1 1 100установок create-component Генерирует компоненты AEM с диалогами, HTL, Sling Models и тестами по стандартам Adobe. Умеет наследовать Core Components и переносить макеты из Figma. CX Codex +1 1 000установок aem-workflow Точка входа в набор скиллов по Workflow в AEM 6.5 LTS: разбирает запрос и отправляет к нужному специалисту — от дизайна модели до разбора зависших процессов. CX Codex +1 987установок dispatcher Единая точка входа в набор скиллов по Adobe Dispatcher для AEM 6.5 LTS: разбирает запрос и отправляет его нужному специалисту. CX Codex +1 986установок migration Скилл для перевода легаси-проекта AEM 6.x, AMS или on-prem на AEM as a Cloud Service: сначала разбор проекта, потом починка одного блокера за сессию. CX Codex +1 918установок

Похожие

adding-auth spencerpauly Скилл проводит агента по шагам добавления аутентификации в веб-приложение на NextAuth.js: провайдеры OAuth, сессии и защищённые маршруты. CX Codex +1 379установок better-auth-security-best-practices better-auth Настраивает защиту Better Auth: ограничивает частоту запросов, проверяет происхождение, шифрует токены и защищает пользовательские сессии. CX Codex +1 48 000установок neon-auth neondatabase Настраивает Managed Better Auth в ветках базы данных Neon. Скилл помогает внедрить вход по почте или OAuth и перенести пользователей с Supabase Auth. CX Codex +1 20 300установок mixpanel-auth официальный Mixpanel Скилл для Codex, который ведёт учётные записи Mixpanel: проверяет сессию, добавляет аккаунты, запускает OAuth и переключает проекты. CX Codex GP ChatGPT ★ 7 596звёзд репо auth-sec yaklang Маршрутизатор проверок аутентификации и авторизации. Помогает агенту выбрать нужную ветку аудита до перехода к конкретным атакам. CX Codex +1 3 700установок browser-auth-flow ruvnet Прогоняет вход на вашем сайте один раз и ищет утечки в редиректах, отсутствие CSRF-токена, слабые сессионные cookie и ошибки OAuth. Итог — findings.md с вердиктом. CX Codex +1 689установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о da-auth

Как установить da-auth в Claude?

Выполните npx skills add adobe/skills --skill da-auth -a claude-code. Скилл окажется в ~/.claude/skills/da-auth/SKILL.md.

Что делает da-auth?

Получает валидный токен Adobe IMS для DA API и сохраняет его в DA_TOKEN, чтобы следующие шаги могли обращаться к admin.da.live.

Что нужно для работы da-auth?

Node.js 18+, браузер на машине и доступ к ims-na1.adobelogin.com. Без браузера остаются DA MCP-сервер или ручная вставка токена.

Исходный текст

SKILL.md · Apache-2.0
---
name: da-auth
description: "Use this when another step needs to call the admin.da.live API, for example before pushing HTML content, listing documents, or triggering a DA preview, and you do not already have a valid DA_TOKEN in scope from an earlier step in the same session. Covers obtaining a valid Adobe IMS access token for the DA (Document Authoring) API."
license: Apache-2.0
metadata:
  version: "1.1.0"
---

# DA Authentication

Gets a valid Adobe IMS access token and stores it in `DA_TOKEN` for use in subsequent `admin.da.live` API calls.

## When to Use This Skill

Use this skill whenever you need to call the DA Admin API (`admin.da.live`) and do not already have a valid token in scope. Common cases:
- Pushing or updating page content in DA
- Listing documents in a DA repository
- Triggering a DA content preview

Do NOT use this skill when:
- You already obtained a `DA_TOKEN` earlier in the same session and it has not expired (tokens are valid for ~1 hour with a 60-second buffer)
- The **create-site** skill is already handling authentication as part of its own flow
- A DA MCP server is active in the session — use its authentication tool directly instead

## Prerequisites

- Node.js 18+ installed
- A browser accessible from the machine (for the OAuth flow)
- Network access to `ims-na1.adobelogin.com`

## Related Skills

- **create-site** — includes its own DA auth step for new site onboarding; do not invoke da-auth separately within that flow
- **content-driven-development** — use da-auth before pushing authored content to DA
- **building-blocks** — use da-auth if test content needs to be pushed to DA for block development
- **snowflake** — invoke da-auth before Phase 5 (round-trip) so `$DA_TOKEN` is set when snowflake PUTs the converted page to DA
- **da-content** — the reference for what to do with `$DA_TOKEN` once you have it (Source API, preview/publish)

---

## Step 1: Check for a Cached Token

Before triggering a browser login, check whether a valid token is already cached.

```bash
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 {}
")
```

If `DA_TOKEN` is non-empty, skip to **Step 3**.

## Step 2: Obtain a Token *(login required)*

Choose the option that fits the environment:

**Option A (preferred) — `da-auth-helper` CLI:**

The `da-auth-helper` tool handles the full IMS OAuth 2.0 implicit flow, caches the token at `~/.aem/da-token.json`, and prints the token to stdout.

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

If `npx` is unavailable or slow, install globally first:

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

This opens a browser window. Instruct the user:

> Please complete the Adobe IMS login in the browser window that just opened. The token will be captured automatically once you log in.

Success: `DA_TOKEN` is a non-empty JWT string starting with `eyJ`.

**Option B — DA MCP server:**

If a DA MCP server is configured in the session, use its authentication tool to start the OAuth flow and retrieve the token from the response.

**Option C — Manual paste *(last resort)*:**

> I need an Adobe IMS access token to push content to DA. You can copy one from your browser:
> 1. Open [da.live](https://da.live) and log in
> 2. Open DevTools → Network tab → find any request to `admin.da.live`
> 3. Copy the `Authorization: Bearer <token>` value (without the `Bearer ` prefix)
> 4. Paste it here

## Step 3: Verify the Token Works

Confirm the token is accepted by the DA API before proceeding:

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

Success: HTTP `200`. The token is valid — `DA_TOKEN` is ready for use by the calling skill.

## Troubleshooting

| Symptom | Likely cause | Fix |
|---|---|---|
| `DA_TOKEN` is empty after Step 1 | No cached token or token expired | Proceed to Step 2 |
| Browser window does not open | `npx` / `da-auth-helper` blocked or headless environment | Use Option B (MCP) or Option C (manual paste) |
| `npx github:adobe-rnd/da-auth-helper` fails | Network restrictions on GitHub package registry | Use Option B (DA MCP server) or Option C (manual token paste) |
| Step 3 returns `401` | Token expired between steps | Re-run Step 2 to refresh |
| Step 3 returns `403` | Authenticated user lacks access to `{{ORG}}/{{REPO}}` | Ask the user to verify their DA permissions for that org/repo |

## Reference

- DA Auth Helper: https://github.com/adobe-rnd/da-auth-helper
- DA Admin API: https://opensource.adobe.com/da-admin/
- Token cache location: `~/.aem/da-token.json`

© adobe · Apache-2.0 · adobe/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой