CLI
Аутентификация
Войдите через браузер или с личным API-ключом и узнайте, какой из способов приоритетнее, если на машине заданы оба.
CLI поддерживает два способа входа: через браузер или с личным API-ключом. Браузер проще на своём компьютере, ключ подходит для CI и серверов.
Вход через браузер
auth:login открывает Sofia в браузере. Вы подтверждаете доступ, и CLI получает его на локальном адресе (http://127.0.0.1:<port>/callback). Это поток OAuth2 authorization code с PKCE; ключ копировать не нужно.
sofia auth:login--scopes "<s1 s2>": запрашиваемые области доступа. По умолчанию — все области ресурсов иoffline_access.--no-browser: выводит адрес вместо того, чтобы открыть его, — для машины без браузера.
sofia auth:login --scopes "posts:read posts:write offline_access"
sofia auth:login --no-browserГде хранятся учётные данные
После auth:login CLI хранит сессию в ~/.sofia/credentials.json (папка 0700, файл 0600). Просроченный токен обновляется сам, и файл перезаписывается.
{
"apiUrl": "https://api.sofia-post.com",
"clientId": "…",
"accessToken": "…",
"refreshToken": "…",
"expiresAt": "…",
"scope": "…"
}Проверка и выход
auth:status показывает аккаунт, от имени которого работает CLI. auth:logout удаляет файл с учётными данными.
sofia auth:status
sofia auth:logoutauth:logout лишь удаляет учётные данные на этом компьютере: у Sofia API нет конечной точки отзыва, поэтому доступ остаётся действительным, пока вы не отзовёте его в Sofia в разделе Настройки › Подключённые приложения.
Использовать личный API-ключ
Создайте ключ в Sofia в разделе Настройки › API › Личный доступ и экспортируйте его как SOFIA_API_KEY. auth:login не нужен: это способ для CI и серверов. Подробнее о ключах — в разделе Аутентификация.
export SOFIA_API_KEY="sk_live_…"
sofia establishments:listЧто приоритетнее
Учётные данные из браузера приоритетнее SOFIA_API_KEY. Чтобы использовать ключ на машине, где вы уже вошли, сначала выполните sofia auth:logout.
Переменные окружения
| Переменная | По умолчанию | Назначение |
|---|---|---|
SOFIA_API_KEY | — | Личный API-ключ (Настройки › API › Личный доступ). |
SOFIA_API_URL | https://api.sofia-post.com | Другой экземпляр API (стенд, локальный). |
SOFIA_CLIENT_ID | Клиент «Sofia CLI» | Другой публичный OAuth-клиент для auth:login. |
Готовы публиковать? Переходите к постам.