Авторизация и конфигурация
Вход через браузер, системное хранилище секретов, API-токены для CI и безопасная смена адреса API.
Рабочая станция
sml auth login
sml auth status
sml doctorsml auth login создаёт одноразовый запрос и открывает страницу StackMoreLayers
в браузере. Сравните короткий код на странице с кодом в терминале, проверьте
запрошенные возможности и подтвердите вход. После подтверждения CLI проверит
аккаунт и сохранит ключ в macOS Keychain, Windows Credential Manager или Linux
Secret Service.
На сервере без графической среды используйте тот же поток без автоматического открытия браузера:
sml auth login --no-browserCLI напечатает ссылку и код. Страницу можно открыть на другом доверенном устройстве. Секрет запроса и итоговый ключ в URL не передаются.
sml auth logoutУдаляет сохранённый токен для выбранного адреса API.
API-токен и CI
Для скриптов и CI выпускайте отдельный короткоживущий API-токен с минимальными областями доступа. На рабочей станции его можно ввести через скрытый prompt:
sml auth login --tokenПередавайте токен через стандартный ввод или защищённый секрет CI:
printf '%s' "$TOKEN_FROM_SECRET_MANAGER" | sml auth login --token-stdinЛибо используйте переменную окружения без записи в системное хранилище:
export SML_API_TOKEN="$MASKED_SML_API_TOKEN"
sml competitions list --output jsonSML_API_TOKEN имеет приоритет над системным хранилищем. Не включайте вывод
выполняемых команд рядом с секретом и не печатайте окружение целиком в журнал CI.
Полный токен никогда не передаётся аргументом процесса: флага с открытым значением токена нет.
Адрес API
Продакшен-адрес установлен по умолчанию:
https://stackmorelayers.ai/api/v1CLI отказывается отправлять токен на произвольный хост. Флаг
--allow-custom-api-origin предназначен для локальной разработки и тестового
окружения. Используйте отдельный тестовый аккаунт и не отключайте проверку TLS.
Модель прав
Успешный вход не означает разрешение любой команды. Каждая операция проверяет область действия ключа, роль пользователя и текущее состояние ресурса. Вход участника не даёт прав организатора. Доступ CLI можно отозвать в настройках API.