yandex-auth — единая точка авторизации
Базовый плагин пакета claude-yandex-skills. Без него остальные скиллы (metrika, webmaster, direct, forms и т.д.) не работают — они ходят за токеном сюда.
Как использовать
Первый раз (выпустить токен)
bash plugins/yandex-auth/skills/yandex-auth/scripts/oauth-flow.sh
Что произойдёт:
- Откроется браузер на authorize-странице Яндекса.
- Юзер логинится под нужным аккаунтом и жмёт «Разрешить».
- Скрипт ловит
access_tokenиз адресной строки (юзер копирует и вставляет). - Валидирует через
https://login.yandex.ru/info(узнаёт login + user_id). - Сохраняет в
~/.claude/secrets/yandex-app.jsonс правами 600.
Проверить статус
bash plugins/yandex-auth/skills/yandex-auth/scripts/oauth-flow.sh --status
Покажет аккаунт, дату выпуска и проверит токен живым запросом.
Из других плагинов
Каждый yandex-* плагин в своих скриптах:
. "$HOME/.claude/skills/yandex-auth/scripts/common.sh" # путь после установки
yandex_load_token # экспортирует YANDEX_ACCESS_TOKEN, YANDEX_LOGIN, YANDEX_USER_ID
curl -H "$(yandex_auth_header)" "https://api.metrika.yandex.net/management/v1/counters"
Файл с токеном
~/.claude/secrets/yandex-app.json:
{
"access_token": "...",
"client_id": "2f69a4396d684385a5f6578dd5eb7863",
"issued_at": "2026-05-05T15:30:00Z",
"expires_at_estimate": "2027-05-05T15:30:00Z",
"yandex_login": "andrey...",
"yandex_user_id": "1234567"
}
⚠️ Файл секретный. Права 600. Не коммитить, не пересылать.
Когда токен умер
Yandex implicit-flow токены живут до ~1 года, могут быть отозваны раньше:
- юзер сменил пароль
- юзер вручную отозвал в
https://id.yandex.ru/security/apps - приложение заблокировано Яндексом
Восстановление — oauth-flow.sh ещё раз.
Scope
Scope в authorize-URL не передаём → юзер получает все scope, которые
админ вшил в приложение в кабинете oauth.yandex.ru/client/.
Если в приложение добавили новый сервис — старый токен новый scope не
покрывает. Нужно переавторизоваться (oauth-flow.sh) — Яндекс выдаст
обновлённый токен с расширенным scope.
⚠️ Wordstat scope требует ручной заявки в поддержку Яндекса.
Получают не все. Если у юзера нет доступа к Wordstat — общий токен всё
равно работает, просто yandex-wordstat будет ловить 403 от Яндекса.